Log4j将不同Package的日志输出到不同的文件

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/XUEER88888888888888/article/details/87807802

https://www.cnblogs.com/yidaxia/p/5820036.html
https://gitee.com/selfs/log4j/blob/master/log4j/src/com/zj/log4j/Log4jTest.java

在这里插入图片描述

打到不同的包里的日志 log4j.properties

log4j.rootLogger=INFO, console, file
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d [%t] %-5p crazyant-web %-17c{2} (%13F:%L) %X{USER_ID}|%X{USER_IP}|%X{SERVER_ADDRESS}|%X{SERVER_NAME}|%X{REQUEST_URI}|%X{SESSION_ID} - %m%n
log4j.appender.console.encoding=UTF-8

log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.file=D:/logger2
log4j.appender.file.MaxBackupIndex=5
log4j.appender.file.MaxFileSize=1GB
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=[%-5p] crazyant-web %d{yyyy-MM-dd HH:mm:ss,SSS} %X{USER_ID}|%X{USER_IP}|%X{SERVER_ADDRESS}|%X{SERVER_NAME}|%X{REQUEST_URI}|%X{SESSION_ID} method:%l%n%m%n
log4j.appender.file.encoding=UTF-8


#com.zlhj.jsontohtml.htmlToJsonInterfaceMain 是包名,这个包里面的log日志会打到下面配置的路径下,且这个包里的日志文件不会再打到上面配置的总的log日志路径里
log4j.logger.com.zlhj.jsontohtml.htmlToJsonInterfaceMain=DEBUG, service 
log4j.additivity.com.zlhj.jsontohtml.htmlToJsonInterfaceMain=false
log4j.appender.service=org.apache.log4j.RollingFileAppender
log4j.appender.service.File=D:/logger
log4j.appender.service.Append=true
log4j.appender.service.MaxFileSize=1GB
log4j.appender.service.MaxBackupIndex=5
log4j.appender.service.layout=org.apache.log4j.PatternLayout
log4j.appender.service.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%-5p][%c{1}] [%t] - %m%n
log4j.appender.service.encoding=UTF-8

log4j普通版本:

log4j.rootLogger=DEBUG,file,console
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%m%n 
log4j.appender.console.Encoding=GBK

log4j.appender.file=org.apache.log4j.FileAppender
log4j.appender.file.File=logs/LottChartStBox.log
log4j.appender.file.Encoding=UTF8
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=[%p] %d{yyyy-MM-dd HH\:mm\:ss} %l\: %m%n 
log4j.appender.FILE.Append=true

测试类

package com.zj.log4j;

import org.apache.log4j.Logger;

public class Log4jTest {
	private static  Logger logger = Logger.getLogger(Log4jTest.class);
	public static void main(String[] args) {
		logger.debug("hehe");
	}

}

slf4j版本的日志:logback.xml

<?xml version="1.0" encoding="UTF-8"?>


<configuration>
    <include resource="org/springframework/boot/logging/logback/base.xml"/>
    
    <property name="LOG_HOME" value="/usr/local/tomcat/logss" />
    <property name="LOG_NAME_PRE" value="zlhj_rulesEngine" />
     
    <!-- 控制台输出 --> 
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
             <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %X{address}-%X{userCode} %-5level %logger{50} - %msg%n</pattern> 
        </encoder>
    </appender> 
     
    <!-- 按照每天生成日志文件 -->  
    <appender name="FILE"  class="ch.qos.logback.core.rolling.RollingFileAppender">  
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!--日志文件输出的文件名-->
            <FileNamePattern>${LOG_HOME}/${LOG_NAME_PRE}.log.%d{yyyy-MM-dd}.log</FileNamePattern>
            <!--日志文件保留天数-->
            <MaxHistory>30</MaxHistory>
        </rollingPolicy>  
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %X{address}-%X{userCode} %-5level %logger{50} - %msg%n</pattern>
             <!--<pattern>%-4relative [%thread] %-5level %logger{35} - %msg%n</pattern> -->
        </encoder>
        <!--日志文件最大的大小-->
       <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
         <MaxFileSize>80MB</MaxFileSize>
       </triggeringPolicy> 
    </appender>
    
    <logger name="org.springframework.web" level="INFO"/>
   
    <!--myibatis log configure-->
    <logger name="com.apache.ibatis" level="INFO"/>
    <logger name="java.sql.Connection" level="INFO"/>
    <logger name="java.sql.Statement" level="INFO"/>
    <logger name="java.sql.PreparedStatement" level="INFO"/> 
     
    <!-- 日志输出级别 -->
    <root level="INFO">
      <!-- <appender-ref ref="STDOUT"/> -->
       <appender-ref ref="FILE"/>
    </root>
</configuration>

测试代码

private static final Logger LOG = LoggerFactory.getLogger(CustomRulesCtrl.class);

猜你喜欢

转载自blog.csdn.net/XUEER88888888888888/article/details/87807802