nodejs 添加 *** 作数据库怎么添加日志

nodejs 添加 *** 作数据库怎么添加日志,第1张

如何用SQL语言在已有数据库日志文件中再添加一个数据库日志文件

use masteralter database 你的数据库名(建立数据库时的名称)add log file

(

name=tt_log2,filename='F:\tt_log2.ldf',

size=2MB,

maxsize=2MB,

filegrowth=10%

)

go这样就行了

一、forever记录日志

线上系统使用forever来启动服务,最开始就直接使用了forever来记录

forever start -a -l ./logs/forever.log

-a 表示追加日志文件

-l 指定日志文件

-s 忽略console.log输出的日志记录(使用log4j时要用这个)

最开始还挺好的,所有日志都能记录下来,但是既然是线上环境,日志比较多,跑着跑着就出问题了。

forever.log文件变得越来越大,在我的系统里直接占了3GB的内存,而且全在内存里面,然后服务器就报警了。

然后尝试对forever.log文件进行切割,结果这SB玩意更本没法切割,具体问题:

1、对forever.log 重命名 forever.log.bak 然后新建forever.log,结果日志仍然往forever.log.bak里写,内存一点也没减少

2、直接删除forever.log ,forever不会新建forever.log,占用的内存也一直不释放

似乎是forever一直使用着文件句柄根本不释放就往里面写,根本没法做日志切割。

二、log4j记录日志

log4j是nodejs的一个log日志包,说下怎么配置和分割日志

{

"appenders": [

{ "type" : "console" },

{

"type": "dateFile",

"filename": "logs/access.log",

"pattern": "-yyyy-MM-dd",

"category" : "normal",

"level" : "LOG"

},

{

"type": "file",

"filename": "logs/error.log",

"maxLogSize": 2097152,

"backup": 10,

"category": "error"

},

{

"type": "dateFile",

"filename": "logs/record.log",

"pattern": "-yyyy-MM-dd",

"category": "record"

}

],

"replaceConsole" : true,

"levels": {

"error": "error",

"record" : "trace"

}

}

log4j的type:

console 往控制台输出

file 文件日志 maxLogSize 表示当文件超过这个值时切换文件 backup:n 会循环使用 error[1,n].log 的文件名

dateFile 使用这个就会按天切割日志,按天生成文件名 access.log-2014-12-14

问题:

日志文件名和内容会相差一天 access.log-2014-12-14 的文件里其实记录的是 2014-12-15 的日志文件,这个暂时还没有找到解决办法

换了log4j之后会自动切割日志,按天进行保存,内存就一直没暴增了。

内存不满就没报警,没了报警整个世界都清净了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11632218.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存