Log4j 把不同包的日志打印到不同位置
如果需要将不同的日志打印到不同的地方,则需要定义不同的Appender,然后定义每一个 Appender的日志级别、打印形式、输出位置!
配置log4j.properties文件如下:
- #########################################################################################
- # 日志信息配置
- LOG_DIR=c://logtest/
- log4j.rootLogger=WARN,rootlog,logSay
- #########################################################################################
- # 主日志控制 1G 30个循环文件 记录所有打印内容,不需要可以取消
- log4j.appender.rootlog=org.apache.log4j.DailyRollingFileAppender
- log4j.appender.rootlog.file=${LOG_DIR}/logtest.log
- log4j.appender.rootlog.layout=org.apache.log4j.PatternLayout
- log4j.appender.rootlog.layout.ConversionPattern=%-d{yyyy-MM-dd HH\:mm\:ss} [%c-%L]-[%p] %m%n
- #########################################################################################
- # 打印到控制台
- log4j.appender.logSay=org.apache.log4j.ConsoleAppender
- log4j.appender.logSay.Target=System.out
- log4j.appender.logSay.layout=org.apache.log4j.PatternLayout
- log4j.appender.logSay.layout.ConversionPattern=%-d{yyyy-MM-dd HH\:mm\:ss} [%c-%L]-[%p] %m%n
- #########################################################################################
- # test日志打印 10M 2个循环文件
- log4j.logger.com.cui.log.test1=warn,test
- log4j.appender.test=org.apache.log4j.RollingFileAppender
- log4j.appender.test.MaxFileSize=10240KB
- log4j.appender.test.MaxBackupIndex=2
- log4j.appender.test.File=${LOG_DIR}/test.log
- log4j.appender.test.layout=org.apache.log4j.PatternLayout
- log4j.appender.test.layout.ConversionPattern=%-d{yyyy-MM-dd HH\:mm\:ss} [%c-%L]-[%p] %m%n
- #########################################################################################
- # test2日志打印 10M 2个循环文件
- log4j.logger.com.cui.log.test2=debug,test2
- log4j.appender.test2=org.apache.log4j.RollingFileAppender
- log4j.appender.test2.MaxFileSize=10240KB
- log4j.appender.test2.MaxBackupIndex=2
- log4j.appender.test2.File=${LOG_DIR}/test2.log
- log4j.appender.test2.layout=org.apache.log4j.PatternLayout
- log4j.appender.test2.layout.ConversionPattern=%-d{yyyy-MM-dd HH\:mm\:ss} [%c-%L]-[%p] %m%n
- #########################################################################################
定义了一个主输出配置,然后定义了两个包的各自打印行为:
- package com.cui.log.test1;
- import org.apache.commons.logging.Log;
- import org.apache.commons.logging.LogFactory;
- /**
- * @说明 日志打印测试
- * @author 崔素强
- * @version 1.0
- * @since
- */
- public class Test1 {
- /**
- * 日志记录对象
- */
- private static Log log = LogFactory.getLog(Test1.class);
- /**
- * 测试
- * @param args
- */
- public static void main(String[] args) {
- log.debug("Test1");
- log.warn("Test1");
- log.info("Test1");
- log.error("Test1");
- }
- }
另外一个不同包的代码:
- package com.cui.log.test2;
- import java.io.IOException;
- import org.apache.commons.logging.Log;
- import org.apache.commons.logging.LogFactory;
- /**
- * @说明 日志打印测试
- * @author 崔素强
- * @version 1.0
- * @since
- */
- public class Test2 {
- /**
- * 日志记录对象
- */
- private static Log log = LogFactory.getLog(Test2.class);
- /**
- * 测试
- * @param args
- */
- public static void main(String[] args) throws IOException {
- log.debug("Test2");
- log.warn("Test2");
- log.info("Test2");
- log.error("Test2");
- }
- }
我们对两个不同打印的日志级别输出是不一样的,控制台也会根据各自配置进行打印,运行两个类!
控制台:
- 2012-11-27 14:03:50 [com.cui.log.test1.Test1-21]-[WARN] Test1
- 2012-11-27 14:03:50 [com.cui.log.test1.Test1-23]-[ERROR] Test1
另外一个:
- 2012-11-27 14:04:06 [com.cui.log.test2.Test2-21]-[DEBUG] Test2
- 2012-11-27 14:04:06 [com.cui.log.test2.Test2-22]-[WARN] Test2
- 2012-11-27 14:04:06 [com.cui.log.test2.Test2-23]-[INFO] Test2
- 2012-11-27 14:04:06 [com.cui.log.test2.Test2-24]-[ERROR] Test2
看输出文件打印:
主文件logtest.log:
- 2012-11-27 14:03:50 [com.cui.log.test1.Test1-21]-[WARN] Test1
- 2012-11-27 14:03:50 [com.cui.log.test1.Test1-23]-[ERROR] Test1
- 2012-11-27 14:04:06 [com.cui.log.test2.Test2-21]-[DEBUG] Test2
- 2012-11-27 14:04:06 [com.cui.log.test2.Test2-22]-[WARN] Test2
- 2012-11-27 14:04:06 [com.cui.log.test2.Test2-23]-[INFO] Test2
- 2012-11-27 14:04:06 [com.cui.log.test2.Test2-24]-[ERROR] Test2
测试1文件test.log:
- 2012-11-27 14:03:50 [com.cui.log.test1.Test1-21]-[WARN] Test1
- 2012-11-27 14:03:50 [com.cui.log.test1.Test1-23]-[ERROR] Test1
测试2文件test2.log:
- 2012-11-27 14:04:06 [com.cui.log.test2.Test2-21]-[DEBUG] Test2
- 2012-11-27 14:04:06 [com.cui.log.test2.Test2-22]-[WARN] Test2
- 2012-11-27 14:04:06 [com.cui.log.test2.Test2-23]-[INFO] Test2
- 2012-11-27 14:04:06 [com.cui.log.test2.Test2-24]-[ERROR] Test2
Log4j 把不同包的日志打印到不同位置的更多相关文章
- Storm中log4j日志打印不出来的解决办法
使用storm命令启动JAVA进程的时候,发现log4j日志打印不出来,咋办呢? 解决办法如下(亲测): 删除strom/lib目录下的log4j-over-slf4j-1.6.6.jar strom ...
- log4j日志打印级别动态调整
1,为什么日志打印级别要动态调整? 随着项目越来越大,访问量也越来越高,遇到问题时想要排查,可是日志一打开却刷的太快太快,不好排查问题,有的时候甚至因为短时间打印日志太多,严重影响了性能,这个时候日志 ...
- java-log4j日志打印
参考路径: https://blog.csdn.net/edward0830ly/article/details/8250412 https://www.cnblogs.com/ITtangtang/ ...
- mybatis中的一点优化问题(数据库连接分开,别名,日志打印)
一:数据的链接 1.目录 2.新建一个db.properties driver=com.mysql.jdbc.Driver url=jdbc:mysql://127.0.0.1:3308/mybati ...
- web项目开启日志打印
原文链接:http://blog.csdn.net/qq_37936542/article/details/79045188 参考文章地址:点击打开链接,写的很清晰 一:导入log4j包或依赖 ...
- springBoot项目配置日志打印管理(log4j2)
1.修改pom文件引用log4j2相关jar包 依赖代码: <!-- log4j2 start --><!-- Spring Boot log4j2依赖 --><depe ...
- Java日志打印方法
一.使用log4j打印日志 1. 下载log4j.jar和commons-logging.jar. log4j.jar下载地址:http://logging.apache.org/log4j/ ...
- log4j2----JAVA日志打印
注意:本篇文章是以log4j2.x 为例的,并不是log4j 1.x log4j 就是log for java , log4j已经被移植到了C,C++,C#,Perl,Python和Ruby等语言中 ...
- slf4j+log4j在Java中实现日志记录
小Alan今天来跟大家聊聊开发中既简单又常用但必不可少的一样东西,那是什么呢?那就是日志记录,日志输出,日志保存. 后面就统一用日志记录四个字来形容啦. 日志记录是项目的开发中必不可少的一个环节,特别 ...
随机推荐
- JavaScript:Date 对象
ylbtech-JavaScript:Date 对象 1.返回顶部 Date 对象 Date 对象用于处理日期和时间. 创建 Date 对象的语法: var myDate=new Date() 注释: ...
- PPPOE数据包转换及SharpPcap应用
在最近写的一个程序中需要用到Sniffer功能,但由于通过.net自身的Socket做出来的Sniffer不能达到实际应用的要求(如不能监听WIFI数据包)所以找到了WinPCAP的.NET库Shar ...
- Windows server 2012 R2 与 Windows 2016 的双系统重启选项
一台主机上,同时安装了Windows 2012R2还有Windows 2016, 但是如何能在任意一个系统重启到另一个呢? 下图中,在Win2012R2中,无法选择重启到2016中. 解决方案 === ...
- Linq-Contains查询
customers.Where(c => c.Name.Contains("john"));
- Kafka:ZK+Kafka+Spark Streaming集群环境搭建(十一)定制一个arvo格式文件发送到kafka的topic,通过Structured Streaming读取kafka的数据
将arvo格式数据发送到kafka的topic 第一步:定制avro schema: { "type": "record", "name": ...
- [Docker] Driver Bridge network for linking containers
In previous postwe have seen how to link two container together by using `--link`: # docker run -d - ...
- OpenGL ES 3.0之Uniform详解
Uniform是变量类型的一种修饰符,是OpenGL ES 中被着色器中的常量值,使用存储各种着色器需要的数据,例如:转换矩阵.光照参数或者颜色. uniform 的空间被顶点着色器和片段着色器分享 ...
- window.btoa
概述 将ascii字符串或二进制数据转换成一个base64编码过的字符串,该方法不能直接作用于Unicode字符串. 语法 var encodedData = window.btoa(stringTo ...
- LabVIEW上位机与串口通信
渊源 大一的时候,学校开了门公共选修课,叫LabVIEW编程,当时的我当然还不知道LabVIEW是啥东东,但还是选了.上课的老师是机械学院的一个副教授.他给我们展示了好几个用LabVIEW做的项目.譬 ...
- Spring 开发环境搭建(二)
为了方面,直接使用eclipse,创建maven工程,创建成功之后 一.修改pom.xml,为了方面我就把Spring相关的jar包都引用了 <project xmlns="http: ...