Spring--Log4j配置(二)

一、Log4j简介

  Log4j是Apache的一个开源项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件,甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。最令人感兴趣的就是,这些可以通过一个配置文件来灵活地进行配置,而不需要修改应用的代码。
日志级别:
  Log4j是目前应用最广泛的日志空间,它分如下几个日志级别,日志级别依次升高。级别高的level会屏蔽级别低的信息。
TRACE→DEBUG→INFO→WARNING→ERROR→FATAL→OFF。
  比如设置INFO级别,TRACE,DEBUG就不会输出,如果设置WARNING级别,则TRACE,DEBUG,INFO都不会输出。

二、Maven依赖

<!--log4j-->
<dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.17</version>
</dependency>
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-log4j12</artifactId>
    <version>1.7.26</version>
    <scope>test</scope>
</dependency>

三、Log4j配置

src\main\resources\log4j.properties

log4j.rootLogger=all, stdout, file

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=D:/logs/spring-data.log
log4j.appender.file.MaxFileSize=5KB
log4j.appender.file.MaxBackupIndex=10
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss.S} %-5p %c{1}:%L - %m%n

四、Log4j使用

import org.apache.log4j.Logger;

public class Test {
    private static Logger logger = Logger.getLogger(Test.class);  
    /** 
     * @param args 
     */  
    public static void main(String[] args) {  
        // System.out.println("This is println message.");  
        // 记录debug级别的信息  
        logger.debug("This is debug message.");  
        // 记录info级别的信息  
        logger.info("This is info message.");  
        // 记录error级别的信息  
        logger.error("This is error message.");  
    }  
}

说明:

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
Logger log = LoggerFactory.getLogger(this.getClass());

附:
配置说明

#   可设置级别:TRACE→DEBUG→INFO→WARNING→ERROR→FATAL→OFF  
#   高级别level会屏蔽低级别level。  
#   debug:显示debug、info、error     
#   info:显示info、error     
  
#log4j.rootLogger=DEBUG,console,file  
log4j.rootLogger=INFO,console  
    
    
#输出到控制台     
log4j.appender.console=org.apache.log4j.ConsoleAppender    
#设置输出样式     
log4j.appender.console.layout=org.apache.log4j.PatternLayout   
#日志输出信息格式为  
log4j.appender.console.layout.ConversionPattern=[%-d{yyyy-MM-dd HH:mm:ss}]-[%t-%5p]-[%C-%M(%L)]: %m%n   
  
#输出到文件(这里默认为追加方式)     
#log4j.appender.file=org.apache.log4j.FileAppender   
#log4j.appender.file.File=F:/LinkinPark/logs/Log4J.log   
#样式为TTCCLayout     
#log4j.appender.file.layout=org.apache.log4j.TTCCLayout    
  
#自定义样式     
#%c 输出所属的类目,通常就是所在类的全名   
#%C 输出Logger所在类的名称,通常就是所在类的全名   
#%d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss , SSS},%d{ABSOLUTE},%d{DATE}  
#%F 输出所在类的类名称,只有类名。  
#%l 输出语句所在的行数,包括类名+方法名+文件名+行数  
#%L 输出语句所在的行数,只输出数字  
#%m 输出代码中指定的讯息,如log(message)中的message  
#%M 输出方法名  
#%p 输出日志级别,即DEBUG,INFO,WARN,ERROR,FATAL  
#%r 输出自应用启动到输出该log信息耗费的毫秒数  
#%t 输出产生该日志事件的线程名  
#%n 输出一个回车换行符,Windows平台为“/r/n”,Unix平台为“/n”  
#%% 用来输出百分号“%”  
#log4j.appender.Linkin.layout.ConversionPattern=%n[%l%d{yy/MM/dd HH:mm:ss:SSS}][%C-%M] %m    
#log4j.appender.Linkin.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss}[%C]-[%p] %m%n     
#log4j.appender.Linkin.layout.ConversionPattern = %d{ABSOLUTE} %5p %t %c{2}:%L - %m%n  
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 在应用程序中添加日志记录总的来说基于三个目的:监视代码中变量的变化情况,周期性的记录到文件中供其他应用进行统计分析...
    时待吾阅读 10,463评论 0 6
  • 在应用程序中添加日志记录总的来说基于三个目的:监视代码中变量的变化情况,周期性的记录到文件中供其他应用进行统计分析...
    时待吾阅读 10,524评论 1 13
  • from:https://www.cnblogs.com/ITtangtang/p/3926665.html一、L...
    enshunyan阅读 8,581评论 0 0
  • Log4J的配置文件(Configuration File)就是用来设置记录器的级别、存放器和布局的,它可接key...
    Alex_1799阅读 45,487评论 0 11
  • 最近看了部电影《美丽人生》,就单从片名来讲,感觉会是一部温馨浪漫的电影吧,看了简介才知道是关于战争的。 它以二战时...
    穆建园阅读 4,438评论 0 0

友情链接更多精彩内容