在Java服务端使用syslog作为日志系统.doc

在Java服务端使用syslog作为日志系统.doc

ID:57748643

大小:16.00 KB

页数:2页

时间:2020-09-02

在Java服务端使用syslog作为日志系统.doc_第1页
在Java服务端使用syslog作为日志系统.doc_第2页
资源描述:

《在Java服务端使用syslog作为日志系统.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、在Java服务端使用syslog作为日志系统1.为什么要用syslog?使用syslog的最大理由就是可以集中处理日志,通常一个中小型的服务端10来台机器,如果日志集中到一台服务器处理起来就非常方便。其次,你可以很方便地利用syslog-ng这一类的服务器来对日志进行分流,在只需要跟踪某一种类型的日志时就比较方便。除此之外,用文件做日志在部署时总会出现目录不存在,目录没有权限的情况,而用syslog就没有这个问题。2.配置log4j把如下的一段加入log4j.properties即可把日志重定向到syslog(同时保留了终端,方便调试)log4

2、j.appender.SYSLOG=org.apache.log4j.net.SyslogAppenderlog4j.appender.SYSLOG.syslogHost=192.168.101.101log4j.appender.SYSLOG.facility=local3log4j.appender.SYSLOG.facilityPrinting=falselog4j.appender.SYSLOG.layout=org.apache.log4j.PatternLayoutlog4j.appender.SYSLOG.layout.Conve

3、rsionPattern=%d{dd-MM-yyyyHH:mm:ss}%-5p(%C:%M:%L)-%m%nlog4j.appender.CONSOLE=org.apache.log4j.ConsoleAppenderlog4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayoutlog4j.appender.CONSOLE.layout.ConversionPattern=%d{dd-MM-yyyyHH:mm:ss}%-5p(%C:%M:%L)-%m%nlog4j.rootLogger=

4、info,CONSOLE,SYSLOGsyslog的每一条记录有两个属性,一个是facility(可用于日志分类),另外一个是priority.facility就在上面的log4j.appender.SYSLOG.facility属性中配置,缺省值是user,对于服务器,我觉得在local0到local7之间选一个比较好,便于将日志分类。所有可用的facility可以参考log4j的文档。priority在我们用log.error,log.warn之类地命令进行日志操作时就已经指定了,syslog有8个优先级,log4j用了其中的5个,对应关系

5、如下(syslog的ALERT,CRIT,NOTICE3个等级未被使用)log4j.FATAL=0=syslog.EMERGlog4j.ERROR=3=syslog.ERRlog4j.WARN=4=syslog.WARNINGlog4j.INFO=6=syslog.INFOlog4j.DEBUG=7=syslog.DEBUGlog4j.appender.SYSLOG.syslogHost这个配置选项用于配置syslog机的IP,log4j.appender.SYSLOG.facilityPrinting设为true时会在每条日志前打印"loca

6、l3:",在日志没有分流时打开此选项可以用tail-f/var/log/syslog

7、greplocal3来只跟踪从你的服务器传来的日志。syslog服务端我一般使用syslog-ng来作为syslog服务器,安装后打开/etc/syslog-ng/syslog-ng.conf,把"udp()"这一行取消掉注释后重启syslog-ng服务即可正常使用,所有的日志会被输出到/var/log/syslog。(注意,如果日志服务器在外网,建议修改/etc/hosts.deny和/etc/hosts.allow,防止被人灌数据灌着玩)一般我们会把服务器

8、的日志定向一个单独的文件来进一步处理,最简单的情况就是把如下的一段追加到/etc/syslog-ng/syslog-ng.conf,然后重启syslog-ng服务。filterf_foo{facility(local3);};destinationdf_foo{file("/var/log/foo.log"owner("foo"));};log{source(s_all);filter(f_foo);filter(f_at_least_warn);destination(df_foo);};syslog-ng也支持把日志的输出重定向到你的程序,

9、具体可以参见syslog-ng的文档。最后你可能需要把你的日志文件加入logrotate的配置,这样方便日志滚动。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。