log4j的使用和配置

一、配置 log4j.properties

1.  在项目中src目录下新建文件log4j.properties

2.  配置根Logger

语法:  log4j.rootLogger = [level],appenderName,appenderName,.....

level:是日志记录的优先级,分为:OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL或自定义的级别。
           不过通常咱们只使用ERROR、WARN、INFO、DEBUG。
appenderName: 是指日志信息输出到哪里,可以同时指定多个地方

举例: log4j.rootLogger = debug,name

3. 配置日志信息输出目的地Appender 

log4j.appender.appenderName = fully.qualified.name.of.appender.class  
log4j.appender.appenderName.option1 = value1  
…  
log4j.appender.appenderName.option = valueN

appenderName:替换为 log4j.rootLogger定义好的名字

Appender:替换为 以下的目的地

  • org.apache.log4j.ConsoleAppender(控制台),
  • org.apache.log4j.FileAppender(文件),
  • org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件),
  • org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件),
  • org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)

如果输出到文件,则要指定输出文件的路径+名字

语法: log4j.appender.appenderName = org.apache.log4j.FileAppender 

举例: log4j.appender.appender2.File= d:/log.html

4. 配置日志信息的格式(布局)

log4j.appender.appenderName.layout = fully.qualified.name.of.layout.class  
log4j.appender.appenderName.layout.option1 = value1  
…  
log4j.appender.appenderName.layout.option = valueN

其中log4j提供的layout有以下几种:

  • org.apache.log4j.HTMLLayout(以HTML表格形式布局),
  • org.apache.log4j.PatternLayout(可以灵活地指定布局模式),
  • org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串),
  • org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)

Log4J采用类似C语言中的printf函数的打印格式格式化日志信息,参数如下:

%m  输出代码中指定的信息
%p   输出优先级,即 DEBUG,INFO,WARN,ERROR,FATAL
%r    输出自应用启动到输出该 log 信息耗费的毫秒数
%c   输出所属的类目,通常就是所在类的全名
%t    输出一个回该日志事件的张程名
%n   输出一个回车换行符,Windows平台为“rn” ,Unix平台为“n”
%d   输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如: %d{yyy MMM dd HH:mm:ss,SSS},输出类似:2012年10月18日 22:10:28,921
%l    输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。比如: TestLog4j.main(TestLog4j.java:10)

<span style="font-size:18px;">##Log4J的配置之简单使它遍及于越来越多的应用中了   
  
##Log4J配置文件实现了输出到控制台、文件、回滚文件、发送日志邮件、输出到数据库日志表、自定义标签等全套功能。择其一二使用就够用了。   
  
##此文件(log4j.properties)内容来自网络,非本文作者liigo原创。   
log4j.rootLogger = DEBUG, CONSOLE,A1   
log4j.addivity.org.apache = true  
  
# 应用于控制台   
log4j.appender.CONSOLE = org.apache.log4j.ConsoleAppender   
log4j.appender.Threshold = DEBUG   
log4j.appender.CONSOLE.Target = System.out   
log4j.appender.CONSOLE.layout = org.apache.log4j.PatternLayout   
log4j.appender.CONSOLE.layout.ConversionPattern = [framework] % d - % c -%- 4r [ % t] %- 5p % c % x - % m % n   
#log4j.appender.CONSOLE.layout.ConversionPattern = [start] % d {DATE} [DATE] % n % p[PRIORITY] % n % x[NDC] % n % t[THREAD] n % c[CATEGORY] % n % m[MESSAGE] % n % n   
  
#应用于文件   
log4j.appender.FILE = org.apache.log4j.FileAppender   
log4j.appender.FILE.File = file.log   
log4j.appender.FILE.Append = false  
log4j.appender.FILE.layout = org.apache.log4j.PatternLayout   
log4j.appender.FILE.layout.ConversionPattern = [framework] % d - % c -%- 4r [ % t] %- 5p % c % x - % m % n   
# Use this layout for LogFactor 5 analysis   
  
# 应用于文件回滚   
log4j.appender.ROLLING_FILE = org.apache.log4j.RollingFileAppender   
log4j.appender.ROLLING_FILE.Threshold = ERROR   
log4j.appender.ROLLING_FILE.File = rolling.log   
log4j.appender.ROLLING_FILE.Append = true  
log4j.appender.ROLLING_FILE.MaxFileSize = 10KB   
log4j.appender.ROLLING_FILE.MaxBackupIndex = 1  
log4j.appender.ROLLING_FILE.layout = org.apache.log4j.PatternLayout   
log4j.appender.ROLLING_FILE.layout.ConversionPattern = [framework] % d - % c -%- 4r [ % t] %- 5p % c % x - % m % n   
  
#应用于socket   
log4j.appender.SOCKET = org.apache.log4j.RollingFileAppender   
log4j.appender.SOCKET.RemoteHost = localhost   
log4j.appender.SOCKET.Port = 5001  
log4j.appender.SOCKET.LocationInfo = true  
# Set up for Log Facter 5  
log4j.appender.SOCKET.layout = org.apache.log4j.PatternLayout   
log4j.appender.SOCET.layout.ConversionPattern = [start] % d {DATE} [DATE] % n % p[PRIORITY] % n % x[NDC] % n % t[THREAD] % n % c[CATEGORY] % n % m[MESSAGE] % n % n   
  
# Log Factor 5 Appender   
log4j.appender.LF5_APPENDER = org.apache.log4j.lf5.LF5Appender   
log4j.appender.LF5_APPENDER.MaxNumberOfRecords = 2000  
  
# 发送日志给邮件   
log4j.appender.MAIL = org.apache.log4j.net.SMTPAppender   
log4j.appender.MAIL.Threshold = FATA   
log4j.appender.MAIL.BufferSize = 10  
log4j.appender.MAIL.From = web@www.wuset.com   
log4j.appender.MAIL.SMTPHost = www.wusetu.com   
log4j.appender.MAIL.Subject = Log4J Message   
log4j.appender.MAIL.To = web@www.wusetu.com   
log4j.appender.MAIL.layout = org.apache.log4j.PatternLayout   
log4j.appender.MAIL.layout.ConversionPattern = [framework] % d - % c -%- 4r [ % t] %- 5p % c % x - % m % n   
  
  
# 用于数据库   
log4j.appender.DATABASE = org.apache.log4j.jdbc.JDBCAppender   
log4j.appender.DATABASE.URL = jdbc:mysql: // localhost:3306/test   
log4j.appender.DATABASE.driver = com.mysql.jdbc.Driver   
log4j.appender.DATABASE.user = root   
log4j.appender.DATABASE.password =   
log4j.appender.DATABASE.sql = INSERT INTO LOG4J (Message) VALUES ( ' [framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n ' )   
log4j.appender.DATABASE.layout = org.apache.log4j.PatternLayout   
log4j.appender.DATABASE.layout.ConversionPattern = [framework] % d - % c -%- 4r [ % t] %- 5p % c % x - % m % n   
log4j.appender.A1 = org.apache.log4j.DailyRollingFileAppender   
log4j.appender.A1.File = SampleMessages.log4j   
log4j.appender.A1.DatePattern = yyyyMMdd - HH ' .log4j '  
log4j.appender.A1.layout = org.apache.log4j.xml.XMLLayout   
  
#自定义Appender   
log4j.appender.im = net.cybercorlin.util.logger.appender.IMAppender   
log4j.appender.im.host = mail.cybercorlin.net   
log4j.appender.im.username = username   
log4j.appender.im.password = password   
log4j.appender.im.recipient = corlin@cybercorlin.net   
log4j.appender.im.layout = org.apache.log4j.PatternLayout   
log4j.appender.im.layout.ConversionPattern = [framework] % d - % c -%- 4r [ % t] %- 5p % c % x - % m % n   
  
# 结束  </span>

二、使用Demo

package com.yilz.sso.util;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

public class Log4jUtil {

	static Log log = LogFactory.getLog(Log4jUtil.class);

	public void log() {
		log.debug("Debug info.");
		log.info("Info info");
		log.warn("Warn info");
		log.error("Error info");
		log.fatal("Fatal info");
	}
	
	public static void main(String[] args) {
		Log4jUtil log4jUtil = new Log4jUtil();
		log4jUtil.log();
	}
}

依赖jar包:log4j-1.2.17.jar

链接:https://pan.baidu.com/s/1brsZTwk8UI3sJslgyLIHkQ 
提取码:ec0z 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值