网站日志中存在js记录,不知是抓取还是解析

JavaScript09

网站日志中存在js记录,不知是抓取还是解析,第1张

1、IP就是访问网站的地址,是正常的访问还是机器刷的。

2、返回码。主要看正常的是不是200,错误的404或者是500类型的。

3、看获取方式。一般正常用户的方式多为get方式。

4、看达到的页面信息量。获得的是多少。

日志可以分析出蜘蛛的抓取情况,用户的访问情况,和网站的其他情况。

一、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之后会自动切割日志,按天进行保存,内存就一直没暴增了。

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

主要是方便你调式javascript用的。你可以看到你在页面中输出的内容。

相比alert他的优点是:

他能看到结构话的东西,如果是alert,淡出一个对象就是[object object],但是console能看到对象的内容。

console不会打断你页面的操作,如果用alert弹出来内容,那么页面就死了,但是console输出内容后你页面还可以正常操作。

console里面的内容非常丰富,你可以在控制台输入:console,然后就可看到:

Console {memory: MemoryInfo, debug: function, error: function, info: function, log: function…}

它有网页的各种提示。