`

一直没很注意的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
分享到:
评论

相关推荐

    logging-log4j2-log4j-2.15.1-rc1.zip

    Log4j,作为Apache开源组织的一个杰出项目,长期以来一直是Java应用程序首选的日志框架之一。然而,随着技术的发展,安全问题也日益凸显,Log4j 2.15.1-RC1的发布,正是针对此类问题进行的一次关键更新,旨在修复...

    log4j-1.2.17.jar

    然而,值得注意的是,尽管log4j-1.2.17.jar在很多项目中仍然广泛使用,但自2015年起,Apache官方已经停止对1.x系列的维护,因此可能存在安全漏洞和性能瓶颈。对于新的项目,开发者应该考虑升级到log4j 2.x版本,以...

    slf4j 所需要的jar包

    SLF4J(Simple Logging Facade for Java)是Java中的一种日志抽象层,它为各种日志框架提供了一个统一的API,如Log4j、Java Util Logging、Logback等。这样,开发者可以在不修改代码的情况下更换底层的日志实现。SLF...

    Hibernate3.5.5

    SLF4J(Simple Logging Facade for Java)是一个用于各种日志框架的抽象层,如log4j、logback等。通过SLF4J,开发者可以在不修改代码的情况下切换不同的日志实现,提供了极大的便利。1.5.8是SLF4J的一个稳定版本,与...

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

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

    struts2.1.6解决乱码 补充

    这些参数指定了Log4j配置文件以及Spring应用上下文的配置文件位置。 通过上述配置,我们可以有效地解决Struts2.1.6中的乱码问题。需要注意的是,在实际开发中可能还需要考虑其他因素,比如数据库连接、JSP页面编码...

    Hibernate3.1.3 Jar包完整版.zip

    8. **log4j-1.2.11.jar**:日志工具Log4j,用于记录应用程序运行过程中的事件,便于调试和问题追踪。 综上所述,Hibernate 3.1.3版本的Jar包集成了众多核心组件,为Java开发者提供了完整的ORM解决方案,涵盖了...

    workBench安装和kie-server整合

    - log4j-1.2.17.jar - mysql-connector-java-5.1.38.jar(本教程采用 MySQL 数据库) - slf4j-api-1.7.2.jar - slf4j-jdk14-1.7.2.jar 以上 Jar 包的下载地址为:...

    C++直接插入排序详解以及代码实现

    这个过程会一直持续,直到找到新元素的正确位置并插入。此步骤会持续进行,直到所有元素都被插入到正确的位置,形成一个完整的有序序列。 直接插入排序的时间复杂度分析如下: - 最好情况:如果输入数组已经是有序...

    java的日志合并

    此外,也可以考虑使用第三方库如Apache Commons IO或Log4j等来简化日志处理过程,提高代码的可读性和可维护性。 通过以上分析可以看出,该Java程序实现了一个较为基础的日志文件合并功能。开发者可以根据实际需求对...

    快速排序 C++ 描述

    在实际应用中,快速排序的平均时间复杂度为O(n log n),但最坏情况下(如数组已经有序或反序)会退化为O(n^2)。为了避免这种情况,可以采用优化策略,如随机化选取基准、三数取中法等。 快速排序在数据结构领域有着...

    hibernate-release-5.3.1.Final.zip

    它默认集成了SLF4J(Simple Logging Facade for Java),允许开发者自由选择底层的日志实现,如Log4j或Logback。 最后,值得注意的是,Hibernate 5.3.1.Final的文档完善,提供了详尽的API参考和用户指南,帮助...

    求两个数组的交集,配合去重方法使用.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数组中的每一个数据 /* ...

    交换排序\快速排序

    注意在调用 `QuickSort` 时传入的是数组的首地址和末地址减1(即 `n-1`),这是因为数组的下标是从0开始的,所以数组的最后一个元素下标是 `n-1`。 此外,程序中还有一个输出排序后数组的循环,使用 `printf` 打印...

    算法答案第二章节

    最后,文件中提到了一些特定问题(如练习题2.2-2,2.2-4,2.3-5)的答案,以及在实现算法时需要考虑的特殊情况。例如,对于练习题2.2-2,算法需要满足特定条件才能输出预计算的答案。而练习题2.3-5则要求修改算法,...

    等级回归法在企业财务危机预警中的应用研究

    Link(jγ)是连接函数,本文选取的是Negative log-log函数。通过这个模型,可以求出企业属于不同等级(例如正常、预警和危机)的概率。 为了验证模型的实用性和准确度,作者还选取了西安某大型集团公司及其下属8家子...

    javascript入门笔记

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

    Sturts2.0.11.2jar包

    "lib"目录通常包含所有依赖的JAR文件,这些文件是运行Struts2应用程序所必需的,如Spring、Log4j、Commons等Apache Commons库,以及其他的第三方库。 在实际开发中,使用Struts2.0.11.2jar包时,开发者需要确保所有...

    multiCCL_f

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

Global site tag (gtag.js) - Google Analytics