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今天来跟大家聊聊开发中既简单又常用但必不可少的一样东西,那是什么呢?那就是日志记录,日志输出,日志保存. 后面就统一用日志记录四个字来形容啦. 日志记录是项目的开发中必不可少的一个环节,特别 ...
随机推荐
- C++对带有分隔符的字符串 分割为数字的通用解决方案
需求: 数据库取出的字段类似于 "1,3,4" 然后用数字处理后,,比如 "1,2,3" 再存回去 #include<stdio.h> #inclu ...
- 查看sql执行的情况
今天同事让看一个sql,无意中学到一个查看sql执行情况的命令,以前都是傻傻的等的,今后不用了 SELECT percent_complete FROM sys.dm_exec_requests
- 如何使用.net访问Access数据库 (转)
前言:今天整理程序,看到之前写的一个Demo,也不知道是从哪里参考的了,写到这里,留作备用吧. 使用.net访问Access数据库:1.BL层:新增一个DataAccess类. Code].Defau ...
- Pascal's Triangle leetcode java(杨辉三角)
题目: Given numRows, generate the first numRows of Pascal's triangle. For example, given numRows = 5, ...
- Android -- View流程
在自定义view中打log,view的显示共有三种,visible.invisible和gone,分别看一下log: gone onVisibilityChanged construct 2 para ...
- Nginx配置基于多域名、端口、IP的虚拟主机
原文:https://www.cnblogs.com/ssgeek/p/9220922.html ------------------------------- Nginx配置基于多域名.端口.IP的 ...
- Java归去来第1集:手动给Eclipse配置Maven环境
一.Eclipse配置Maven 1.1.下载Maven http://maven.apache.org/download.cgi,选择对应的版本,window下载apache-maven-3.5.3 ...
- linux不解压超大日志gz包直接查找特定内容
gzip -dc myfile.gz | grep 'Exception' | more 或者 gzip -c myfile.gz | grep 'Exception' | more
- 如何让Fiddler可以抓取https的请求
转自:https://jingyan.baidu.com/article/00a07f38bb4f4682d028dcd2.html Fiddler通过在本机开启了一个http的代理服务器来进行htt ...
- Ajax:HyperText/URI, HTML, Javascript, frame, frameset, DHTML/DOM, iframe, XMLHttp, XMLHttpRequest
本文内容 Ajax 诞生 促使 Ajax 产生的 Web 技术演化 真正 Ajax Ajax 与 Web 2.0 Ajax 背后的技术 2008 年毕业,2011 年看了<Ajax 高级程序设计 ...