`

一直没很注意的log4j

 
阅读更多
如果要一个系统出多个log文件,每个出相应的模块.

根路径下的所有logger输出都会受到影响,但是优先级最低,可以被任意特定的包设定覆盖。所以这里的A2会被覆盖.root下的是所有的信息都会输入到后边的(红色)路径下.

程序里我这样写:
static Logger logger = Logger.getLogger ("protocal") ;
配置里我这样写:
log4j.logger.protocal=info,operatefile
log4j.additivity.protocal=false
原来不只是用class
日志输出也有编码,不然中文会乱码,logfile指相应的log文件
log4j.appender.logfile.encoding=UTF-8

Linux默认保存的编码是UTF8的,而Windows默认用GB2312和GB18030的,
要在windows下查看UTF8的文件,你装个Notepad++,utralEdit或Notepad2之类的查看工具,
用这些工具打开linux文本就正常了。

包设定的日志级别高于rootLogger设定的级别
#root level
log4j.rootLogger=ERROR, stdout, A2#console config
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=[%-5p] %d{HH:mm:ss} [%c{1}] - %m%n

#file config
log4j.appender.A2=org.apache.log4j.DailyRollingFileAppender
log4j.appender.A2.file=../logs/mtradeweb.log
log4j.appender.A2.DatePattern='.'yyyy-MM-dd
log4j.appender.A2.layout=org.apache.log4j.PatternLayout
log4j.appender.A2.layout.ConversionPattern=[%-5p] %d{HH:mm:ss} [%c{1}] - %m%n

#tradeweb level对应每个包所做的日志log4j.logger.tpme.MEBS.timebargain.tradeweb=info
log4j.logger.tpme.MEBS.timebargain.tradeweb.webapp.listener=debug
log4j.logger.tpme.MEBS.timebargain.tradeweb.webapp.filter=info
log4j.logger.tpme.MEBS.timebargain.tradeweb.util=info
log4j.logger.tpme.MEBS.timebargain.tradeweb.webapp.action.ResponseXml=info
log4j.logger.tpme.MEBS.timebargain.tradeweb.webapp.action.HttpTradeServlet=debug
log4j.logger.tpme.MEBS.timebargain.tradeweb.service=debug
log4j.logger.tpme.MEBS.timebargain.tradeweb.dao=debug

#money对应每个包所做的日志log4j.logger.tpme.MEBS.timebargain.tradeweb.webapp.action.HttpMoneyServlet=debug,moneyfile
log4j.additivity.tpme.MEBS.timebargain.tradeweb.webapp.action.HttpMoneyServlet=false
log4j.logger.tpme.MEBS.timebargain.tradeweb.money=debug,moneyfile
log4j.additivity.tpme.MEBS.timebargain.tradeweb.money=false

#report对应每个包所做的日志log4j.logger.tpme.MEBS.timebargain.tradeweb.webapp.action.HttpReportServlet=debug,reportfile
log4j.additivity.tpme.MEBS.timebargain.tradeweb.webapp.action.HttpReportServlet=false
log4j.logger.tpme.MEBS.timebargain.tradeweb.report=debug,reportfile
log4j.additivity.tpme.MEBS.timebargain.tradeweb.report=false


#money log
log4j.appender.moneyfile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.moneyfile.file=../logs/money.log
log4j.appender.moneyfile.DatePattern='.'yyyy-MM-dd
log4j.appender.moneyfile.layout=org.apache.log4j.PatternLayout
log4j.appender.moneyfile.layout.ConversionPattern=[%-5p] %d{HH:mm:ss} [%c{1}]%m%n

#report log
log4j.appender.reportfile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.reportfile.file=../logs/report.log
log4j.appender.reportfile.DatePattern='.'yyyy-MM-dd
log4j.appender.reportfile.layout=org.apache.log4j.PatternLayout
log4j.appender.reportfile.layout.ConversionPattern=[%-5p] %d{HH:mm:ss} [%c{1}]%m%n

#tradweb_op log
log4j.logger.tpme.MEBS.timebargain.tradeweb.webapp.action.BaseHttpServlet=info,operatefile
log4j.additivity.tpme.MEBS.timebargain.tradeweb.webapp.action.BaseHttpServlet=false
log4j.logger.tpme.MEBS.timebargain.tradeweb.operate=info,operatefile
log4j.additivity.tpme.MEBS.timebargain.tradeweb.operate=false
#tradeweb operate
log4j.appender.operatefile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.operatefile.file=../logs/tradweb_op.log
log4j.appender.operatefile.DatePattern='.'yyyy-MM-dd
log4j.appender.operatefile.layout=org.apache.log4j.PatternLayout
log4j.appender.operatefile.layout.ConversionPattern=[%-5p] %d{HH\:mm\:ss} [%c{1}]%m%n
分享到:
评论

相关推荐

    可用于Struts、Struts2、Hibernate、Spring、Json、Ajax等j2ee项目开发的类库完整版

    log4j是英文输出),可满足绝大部分Java Web项目开发需求,如SSH1、SSH2等。注意,包里自带了MySQL-JDBC驱动,如果用MySQL数据库的话直接只导入这一个包就可以了,但是如果使用其他数据库记得加载数据库驱动。这个...

    求两个数组的交集,配合去重方法使用.html

    // console.log(arr4) // } // fn(nums1, nums2) // 方法二: var arr1 = [1, 2, 2, 3, 4, 5]; var arr2 = [2, 2, 3, 4, , 6, 7, 8]; // 输出的内容 [2,3,4] // 循环拿出arr1数组中的每一个数据 /* ...

    javascript入门笔记

    适用场合:任何小数与0 做 按位或的操作,可以快速转换为整数(并非四舍五入) 5 | 0 101 000 ==== 101 3、按位 异或 :^ 语法:a ^ b 特点:将 a 和 b 先转换为二进制,按位操作,对应位置上的两个数字,...

    multiCCL_f

     导致定位失败,因为所生成的文件会全部被杀,而且一直如此。  所以在设置前,  先要确认所保护的片段不是独立的特征码。 v 0.100 beta 之后的版本用的是等分法,限制区域的优化效果, 对于文件特征码来说是很...

    软件病毒特征码定位软件multiCCL

     导致定位失败,因为所生成的文件会全部被杀,而且一直如此。  所以在设置前,  先要确认所保护的片段不是独立的特征码。 v 0.100 beta 之后的版本用的是等分法,限制区域的优化效果, 对于文件特征码来说是很...

    如何编写批处理文件批处理文件批处理文件

    因此,(1,1,5) 将产生序列 1 2 3 4 5,(5,-1,1) 将产生 序列 (5 4 3 2 1)。 FOR /F ["options"] %variable IN (file-set) DO command FOR /F ["options"] %variable IN ("string") DO command FOR /F ["options"]...

    计算机应用技术(实用手册)

    出现上面两种错是CMOS电池没电了.解决方法:打开机箱,把主板上的一节纽扣电池取出,换上一节新的既可,或是CMOS被放电了,从新进入CMOS设置时间保存并退出就可解决此问题。 Press F1 tocontinue ,DEL to enter ...

    HGE_系列教材(1-9)

    注意,程序运行之后,一直调用函数FrameFunc 直到用户按下ESC,那么跳到pHge- HGE 系列教材(4) --- 初探 HGE Core Functions 层 HGE Core Functions 层中的函数需要通过HGE 指针来访问,就如《HGE 系列教 材(3) ...

    Toad 使用快速入门

     注意,如果是选择了专门建立toad这个用户的话,需要先修改一下脚本,指定用户的默认表空间和临时表空间。 需要使用Oracle8i 的Profile analyzer,必须运行ToadProfiler.sql  需要加强Toad的安全性,必须...

    网管教程 从入门到精通软件篇.txt

    小编的确一直都想把这方面的命令做个总结,这次辛苦老范给我们整理了这份实用的秘笈。  Bootcfg  bootcfg 命令启动配置和故障恢复(对于大多数计算机,即 boot.ini 文件)。  含有下列参数的 bootcfg 命令仅在...

    新版Android开发教程.rar

    四频 (850 , 900 , 1800 , 1900) ;支持 3G , 802.11b 和 802.11g 。----------------------------------- Android 编程基础 5 互联网 支持 HTTP 、 WAP Push 和 xHTML ;支持 POP 、 IMAP 、 SMTP ,以及 AOL ...

Global site tag (gtag.js) - Google Analytics