文档章节

log4j 配置文件 常规使用 以及 按照不同级别打印到不同的文件

之渊
 之渊
发布于 2016/11/13 21:11
字数 521
阅读 27
收藏 0

日志记录器(Logger)的行为是分等级的。如下表所示:

分为OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL或者您定义的级别。Log4j建议只使用四个级别,优先级从高到低分别是 ERROR、WARN、INFO、DEBUG。通过在这里定义的级别,您可以控制到应用程序中相应级别的日志信息的开关。

在这里说明一下,如果  启动程序 出现

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.

那么这时候 只要 在 maven 里面  导入  

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-log4j12</artifactId>
    <version>1.7.21</version>
</dependency>

即可解决,其实可以忽略掉,对我们使用 一般的 log4j 功能没有影响,导入 log4j包即可的。

下面重点来了,是我的配置文件:

log4j.properties 配置文件说明

log4j.appender.encoding = UTF-8

#log4j.rootLogger=INFO,CONSOLE,APPLOG,ERROR,ERRORLOG
#log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
#log4j.appender.CONSOLE.Target=System.out
#log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
#log4j.appender.CONSOLE.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p [%t] %c %x - %m%n

 

 

#log4j.rootLogger=INFO,stdout,debug,info,warn,error
log4j.rootLogger=DEBUG,stdout,debug,info,warn,error 

#将内容 输出到 控制台,这里 在  log4j.rootLogger 里面必须 加上 INFO 或者 DEBUG 或者 WARN 或者 #ERROR 这些内容, 如果不加上的话, 是不会将内容输出到 控制台的,只会输出到 相应的 文件里面。

# INFO 代表输出 INFO级别以上的, DEBUG就是 DEBUG以上的 。。。

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n
 

#输出 debug 级别以上的内容
log4j.logger.debug=debug
log4j.appender.debug=org.apache.log4j.DailyRollingFileAppender
log4j.appender.debug.layout=org.apache.log4j.PatternLayout
log4j.appender.debug.layout.ConversionPattern=[%-5p] [%d{HH:mm:ss}] %c - %m%n
log4j.appender.debug.datePattern='.'yyyy-MM-dd
log4j.appender.debug.Threshold = DEBUG 
log4j.appender.debug.append=true
log4j.appender.debug.File=/data/logs/debug.log 
 

#输出 info 级别以上的内容
log4j.logger.info=info
log4j.appender.info=org.apache.log4j.DailyRollingFileAppender
log4j.appender.info.layout=org.apache.log4j.PatternLayout
log4j.appender.info.layout.ConversionPattern=[%-5p] [%d{HH:mm:ss}] %c - %m%n
log4j.appender.info.datePattern='.'yyyy-MM-dd
log4j.appender.info.Threshold = INFO 
log4j.appender.info.append=true
log4j.appender.info.File=/data/logs/info.log

 

#输出 warn 级别以上的内容

log4j.logger.debug=warn 
log4j.appender.warn=org.apache.log4j.DailyRollingFileAppender
log4j.appender.warn.layout=org.apache.log4j.PatternLayout
log4j.appender.warn.layout.ConversionPattern=[%-5p] [%d{HH:mm:ss}] %c - %m%n
log4j.appender.warn.datePattern='.'yyyy-MM-dd
log4j.appender.warn.Threshold = WARN
log4j.appender.warn.append=true
log4j.appender.warn.File=/data/logs/warn.log

log4j.logger.error=error
log4j.appender.error=org.apache.log4j.DailyRollingFileAppender
log4j.appender.error.layout=org.apache.log4j.PatternLayout
log4j.appender.error.layout.ConversionPattern=[%-5p] [%d{HH:mm:ss}] %c - %m%n
log4j.appender.error.datePattern='.'yyyy-MM-dd
log4j.appender.error.Threshold = ERROR 
log4j.appender.error.append=true
log4j.appender.error.File=/data/logs/error.log

 

这样就把不同日志级别的内容输出到 不同的 级别文件里面了。

 

 

 

 

 

 

 

© 著作权归作者所有

之渊
粉丝 12
博文 569
码字总数 165824
作品 0
佛山
程序员
私信 提问
java 日志框架——log4j

Log4J是JAVA下的一款日志组件 下载: http://logging.apache.org/log4j/2.x/download.html 下面的示例我使用最新版本2.7无法正常运行,最新版本使用方法可能不同。本文示例使用log4j-1.2.15测...

xundh
2018/05/09
0
0
三方库--slf4j-log4j的使用

本文不去探究日志门面 slf4j 与其他众多日志框架 log4j、log4j2、logback、j.u.l(java.util.logging) 之间的关系,我们将重点关注 slf4j 与 log4j 的组合使用。 log4j 应该是最经典、使用人数...

_inkrain
04/28
0
0
log4j.properties配置详解

Log4J的配置文件(Configuration File)就是用来设置记录器的级别、存放器和布局的,它可接key=value格式的设置或xml格式的设置信息。通过配置,可以创建出Log4J的运行环境。 1. 配置文件 Log4...

sfilyh
2012/03/30
0
0
log4j2配置文件log4j2.xml配置详解

原文链接:https://blog.csdn.net/zheng0518/article/details/69558893 一、背景 最近由于项目的需要,我们把log4j 1.x的版本全部迁移成log4j 2.x 的版本,那随之而来的slf4j整合log4j的配置...

thekenofdis
2018/05/24
0
0
log4j 使用及配置分析记录

log4j是一个非常强大的log记录软件,下面我们就来看看在项目中如何使log4j。 ps:其配置文件有两种 log4j.properties 和log4j.xml 两种形式。xml更强大,功能更丰富 ,properties更简单易懂。...

北方攻城师
2015/04/12
0
0

没有更多内容

加载失败,请刷新页面

加载更多

开发函数计算的正确姿势 —— Fun validate 语法校验排错指南

1. 前言 首先介绍下在本文出现的几个比较重要的概念: 函数计算(Function Compute): 函数计算是一个事件驱动的服务,通过函数计算,用户无需管理服务器等运行情况,只需编写代码并上传。函...

阿里云云栖社区
3分钟前
0
0
java 面试知识点笔记(十三)多线程与并发-原理 下篇

java线程池,利用Exceutors创建不同的线程池满足不同场景需求: newSingleThreadExecutor() 创建一个单线程的线程池。这个线程池只有一个线程在工作,也就是相当于单线程串行执行所有任务。如...

断风格男丶
5分钟前
0
0
Jenkins构建多节点之Linux节点

系统管理-管理节点-新建Linux节点 点击Linux节点运行,产生下面这些日志,表示连接成功: [02/09/18 05:20:36] [SSH] Opening SSH connection to 192.168.1.209:22. [02/09/18 05:20:37] [S...

shzwork
5分钟前
0
0
43个区块链开发工具【2019】

本文列出2019年最新整理的用于区块链开发的43种流行的开发库、开发工具与开发框架。 1、MetaMask 人人都知道MetaMask。MetaMask是一个浏览器扩展,可以让你用普通的浏览器访问以太坊区块链。...

geek12345
8分钟前
0
0
为Redis配置自定义fastJson序列化工具类

alibaba.fastjson内部已经提供了对Redis存储对象序列化的工具类GenericFastJsonRedisSerializer,但是该工具在反序列化时返回为Object,我们仿照GenericFastJsonRedisSerializer来自定义一个...

Bingo许
23分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部