java log4配置例子,log4j.properties配置属性详解与配置示例

log4j.properties配置属性详解与配置示例

发布时间:2018-03-27作者:laosun阅读(1535)

0f9e8264915948f7a1174b4a48c40c63.gif

log4j.properties配置属性详解与配置示例,拿走直接用!详细解答了log4j.properties配置的属性和日志级别、布局模式方式和日志产生的各种信息的详细,以及输出到控制台和文件的详解

看博主的配置吧,各方面都比较全面,都有注释# DEBUG 

#log4j.rootLogger=WARN, stdout, file

#log4j.appender.stdout=org.apache.log4j.ConsoleAppender

#log4j.appender.stdout.layout=org.apache.log4j.PatternLayout

#log4j.appender.stdout.layout.ConversionPattern=

#

## Output to the File

#log4j.appender.file=org.apache.log4j.FileAppender

#log4j.appender.file.File=../logs/my/project.log

#log4j.appender.file.layout=org.apache.log4j.PatternLayout

#log4j.appender.file.layout.ConversionPattern=%n%-d{yyyy-MM-dd HH:mm:ss}%n[%p]-[Thread: %t]-[%C.%M()]: %m%n

# Log4j提供的layout有以下几种:

#1)org.apache.log4j.HTMLLayout(以HTML表格形式布局)

#2)org.apache.log4j.PatternLayout(可以灵活地指定布局模式)

#3)org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串)

#4)org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)

#5)org.apache.log4j.xml.XMLLayout(以XML形式布局)

# 将需要开启的卸载rootLogger里即可

# systemOut,logFile,logDailyFile,logRollingFile,logMail,logDB

log4j.rootLogger = ${log4j.rootLogger}

# 输出到控制台

log4j.appender.systemOut = org.apache.log4j.ConsoleAppender

# org.apache.log4j.PatternLayout(可以灵活地指定布局模式)

log4j.appender.systemOut.layout = org.apache.log4j.PatternLayout

# %n%-d{yyyy-MM-dd HH:mm:ss}%n[%p]-[Thread: %t]-[%C.%M()]: %m%n

log4j.appender.systemOut.layout.ConversionPattern = [%-5p][%-22d{yyyy-MM-dd HH:mm:ssS}]%m%n

# 指定日志消息的输出最低层次

log4j.appender.systemOut.Threshold = INFO

# TRUE:默认值是true,所有的消息都会被立即输出

log4j.appender.systemOut.ImmediateFlush = TRUE

# System.err:默认值System.out,输出到控制台(err为红色,out为黑色)

log4j.appender.systemOut.Target = System.err

#输出到文件

log4j.appender.logFile = org.apache.log4j.FileAppender

log4j.appender.logFile.layout = org.apache.log4j.PatternLayout

log4j.appender.logFile.layout.ConversionPattern = [%-5p][%-22d{yyyy-MM-dd HH:mm:ssS}][%l]%n%m%n

log4j.appender.logFile.Threshold = WARN

log4j.appender.logFile.ImmediateFlush = TRUE

# FALSE:默认值true,将消息追加到指定文件中,false指将消息覆盖指定的文件内容

log4j.appender.logFile.Append = TRUE

# C:\log4j.log:指定消息输出到C:\log4j.log文件

log4j.appender.logFile.File = ../logs/my/project.log

# Encoding 编码方式

log4j.appender.logFile.Encoding = UTF-8

#按DatePattern输出到文件

log4j.appender.logDailyFile = org.apache.log4j.DailyRollingFileAppender

log4j.appender.logDailyFile.layout = org.apache.log4j.PatternLayout

log4j.appender.logDailyFile.layout.ConversionPattern = [%-5p][%-22d{yyyy-MM-dd HH:mm:ssS}][%l]%n%m%n

log4j.appender.logDailyFile.Threshold = WARN

log4j.appender.logDailyFile.ImmediateFlush = TRUE

log4j.appender.logDailyFile.Append = TRUE

log4j.appender.logDailyFile.File = ../logs/my/project.log

#'.'yyyy-ww:每周滚动一次文件,即每周产生一个新的文件 , 还可以按用以下参数:

#'.'yyyy-MM:每月

#'.'yyyy-ww:每周

#'.'yyyy-MM-dd:每天

#'.'yyyy-MM-dd-a:每天两次

#'.'yyyy-MM-dd-HH:每小时

#'.'yyyy-MM-dd-HH-mm:每分钟

log4j.appender.logDailyFile.DatePattern = '../logs/my/sys_'yyyy-MM-dd'.log'

log4j.appender.logDailyFile.Encoding = UTF-8

#设定文件大小输出到文件

log4j.appender.logRollingFile = org.apache.log4j.RollingFileAppender

log4j.appender.logRollingFile.layout = org.apache.log4j.PatternLayout

log4j.appender.logRollingFile.layout.ConversionPattern = [%-5p][%-22d{yyyy-MM-dd HH:mm:ssS}][%l]%n%m%n

log4j.appender.logRollingFile.Threshold = WARN

log4j.appender.logRollingFile.ImmediateFlush = TRUE

log4j.appender.logRollingFile.Append = TRUE

log4j.appender.logRollingFile.File = ../logs/my/project.log

# 100KB:后缀可以是KB,MB,GB.在日志文件到达该大小时,将会自动滚动.如:log4j.log.1

log4j.appender.logRollingFile.MaxFileSize = 20MB

# 2:指定可以产生的滚动文件的最大数

log4j.appender.logRollingFile.MaxBackupIndex = 100

log4j.appender.logRollingFile.Encoding = UTF-8

#用Email发送日志

log4j.appender.logMail = org.apache.log4j.net.SMTPAppender

log4j.appender.logMail.layout = org.apache.log4j.HTMLLayout

#log4j.appender.logMail.layout=org.apache.log4j.PatternLayout

log4j.appender.logMail.layout.LocationInfo = TRUE

log4j.appender.logMail.layout.Title = Log4j Log Messages

log4j.appender.logMail.Threshold = ERROR

log4j.appender.logMail.SMTPDebug = FALSE

log4j.appender.logMail.SMTPHost = ${logMail.SMTPHost}

log4j.appender.logMail.From = ${logMail.From}

log4j.appender.logMail.To = ${logMail.To}

log4j.appender.logMail.SMTPUsername = ${logMail.SMTPUsername}

log4j.appender.logMail.SMTPPassword = ${logMail.SMTPPassword}

log4j.appender.logMail.Subject = ${logMail.Subject}

# 日志的格式

#log4j.appender.logMail.layout.ConversionPattern=[ErrorMessage] %d - %c -%-4r [%t] %-5p %c %x - %m%n

# 缓存文件大小,日志达到512K时发送Email

#log4j.appender.logMail.BufferSize = 512K

#log4j.appender.logMail.SMTPAuth = TRUE

#将日志写入到MySQL数据库 (注意不要有空格)

log4j.appender.logDB =org.apache.log4j.jdbc.JDBCAppender

log4j.appender.logDB.layout =org.apache.log4j.PatternLayout

log4j.appender.logDB.Threshold = ERROR

log4j.appender.logDB.Driver =${logDB.Driver}

log4j.appender.logDB.URL =${logDB.URL}

log4j.appender.logDB.User =${logDB.User}

log4j.appender.logDB.Password =${logDB.Password}

log4j.appender.logDB.Sql =${logDB.Sql}

#CREATE TABLE `t_log4j` (

#`id`  int(11) NOT NULL AUTO_INCREMENT ,

#`project_id`  int(2) NULL DEFAULT 0 COMMENT '项目名称, 外键ID' ,

#`level`  varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '日志级别' ,

#`category`  varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '列出logger名字空间的全称,如果加上{}表示列出从最内层算起的指定层数的名字空间' ,

#`file_name`  varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '显示调用logger的源文件名' ,

#`thread_name`  varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '产生该日志事件的线程名' ,

#`line`  int(10) NULL DEFAULT NULL COMMENT '显示调用logger的代码行' ,

#`all_category`  varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数' ,

#`message`  varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '显示输出消息' ,

#`add_time`  timestamp NULL DEFAULT NULL COMMENT '添加时间' ,

#PRIMARY KEY (`id`)

#)

#ENGINE=InnoDB

#DEFAULT CHARACTER SET=utf8 COLLATE=utf8_general_ci

#AUTO_INCREMENT=1

#ROW_FORMAT=COMPACT;

博主的log4j.rootLogger = ${log4j.rootLogger} 这行是动态读取,测试的时候可以写死下边的语句

INFO,systemOut,logRollingFile

INFO 是打印日志级别,在systemOut配置里边有写,systemOut是控制台打印,logRollingFile是写入文件。

af499b9437efec8e1b25c2bb396e60d7.png

0 +1

版权声明

分享到:

发表评论

请文明留言

发表

共 0 条评论

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值