如何配置使用 Log4j

最近在用Java 写一个FTP上传下载文件工具,正好需要产生操作日志。

利用Log4j.jar可以轻松解决。下面介绍一下Log4j的使用,具体概念到官网查阅:

-----------------------------------------------------------------------------

1、下载:

http://archive.apache.org/dist/logging/log4j/

2、添加jar到java项目:


3、创建:Log4j.Properties文件,放在src文件夹下即可:

  3.1 输出到console端:

<span style="color: rgb(102, 102, 102); "><em># Root logger option</em></span>
log4j.rootLogger=INFO, stdout
 
<span style="color: rgb(102, 102, 102); "><em># Direct log messages to stdout</em></span> 
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=<span style="font-weight: bold;">%</span>d<span style="font-weight: bold;">{</span>yyyy-MM-dd HH:mm:ss<span style="font-weight: bold;">}</span> <span style="font-weight: bold;">%</span>-5p <span style="font-weight: bold;">%</span>c<span style="font-weight: bold;">{</span>1<span style="font-weight: bold;">}</span>:<span style="font-weight: bold;">%</span>L - <span style="font-weight: bold;">%</span>m<span style="font-weight: bold;">%</span>n
   3.2 输出到日志文件:

<span style="color: rgb(102, 102, 102); "><em># Root logger option</em></span>
log4j.rootLogger=INFO, <span style="font-weight: bold;">file</span>
 
<span style="color: rgb(102, 102, 102); "><em># Direct log messages to a log file</em></span>
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=C:\\loging.log
log4j.appender.file.MaxFileSize=1MB
log4j.appender.file.MaxBackupIndex=1
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=<span style="font-weight: bold;">%</span>d<span style="font-weight: bold;">{</span>yyyy-MM-dd HH:mm:ss<span style="font-weight: bold;">}</span> <span style="font-weight: bold;">%</span>-5p <span style="font-weight: bold;">%</span>c<span style="font-weight: bold;">{</span>1<span style="font-weight: bold;">}</span>:<span style="font-weight: bold;">%</span>L - <span style="font-weight: bold;">%</span>m<span style="font-weight: bold;">%</span>n
  3.3 输出到console同时输出到日志文件:

<span style="color: rgb(102, 102, 102); "><em># Root logger option</em></span>
log4j.rootLogger=INFO, <span style="font-weight: bold;">file</span>, stdout
 
<span style="color: rgb(102, 102, 102); "><em># Direct log messages to a log file</em></span>
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=C:\\loging.log
log4j.appender.file.MaxFileSize=1MB
log4j.appender.file.MaxBackupIndex=1
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=<span style="font-weight: bold;">%</span>d<span style="font-weight: bold;">{</span>yyyy-MM-dd HH:mm:ss<span style="font-weight: bold;">}</span> <span style="font-weight: bold;">%</span>-5p <span style="font-weight: bold;">%</span>c<span style="font-weight: bold;">{</span>1<span style="font-weight: bold;">}</span>:<span style="font-weight: bold;">%</span>L - <span style="font-weight: bold;">%</span>m<span style="font-weight: bold;">%</span>n
 
<span style="color: rgb(102, 102, 102); "><em># Direct log messages to stdout</em></span>
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=<span style="font-weight: bold;">%</span>d<span style="font-weight: bold;">{</span>yyyy-MM-dd HH:mm:ss<span style="font-weight: bold;">}</span> <span style="font-weight: bold;">%</span>-5p <span style="font-weight: bold;">%</span>c<span style="font-weight: bold;">{</span>1<span style="font-weight: bold;">}</span>:<span style="font-weight: bold;">%</span>L - <span style="font-weight: bold;">%</span>m<span style="font-weight: bold;">%</span>n
  3.4  按天roll over(翻滚,转存)日志:

<span style="color: rgb(102, 102, 102); "><em></em></span># Root logger option
log4j.rootLogger=INFO,console,<span style="background-color: rgb(51, 255, 51);">dailyFile</span>
##Daily log:
log4j.appender.dailyFile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.dailyFile.File=e:/ftplog/autoftp.log
log4j.appender.dailyFile.Append=true
log4j.appender.dailyFile.layout=org.apache.log4j.PatternLayout  
log4j.appender.dailyFile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p - %m%n
log4j.appender.dailyFile.Threshold=INFO
<span style="color: rgb(51, 255, 51);"><span style="background-color: rgb(51, 255, 51);"><span style="color: rgb(0, 0, 0);">log4j.appender.dailyFile.DatePattern='.'yyyy-MM-dd</span></span> </span> 

# Direct log messages to console
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.Threshold=INFO
log4j.appender.console.ImmediateFlush=true
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 %c{1}:%L - %m%n
 PS:

Debug Level:  日志记录等级

We have used DEBUG with both the appenders. All the possible options are:

  • TRACE

  • DEBUG

  • INFO

  • WARN

  • ERROR

  • FATAL

  • ALL

Daily Log File Generation: 每日文件生成模式

DatePattern Description
'.' yyyy-MM Roll over at the end of each month and the beginning of the next month.
'.' yyyy-MM-dd This is the default value and roll over at midnight each day.
'.' yyyy-MM-dd-a Roll over at midday and midnight of each day.
'.' yyyy-MM-dd-HH Roll over at the top of every hour.
'.' yyyy-MM-dd-HH-mm Roll over every minute.
'.' yyyy-ww Roll over on the first day of each week depending upon the locale.

 4、测试代码如下:

 

[java]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. import org.apache.log4j.Logger;  
  2.     import org.apache.log4j.BasicConfigurator;  
  3.       
  4.     public class Hello {  
  5.       
  6.       static Logger logger = Logger.getLogger(Hello.class);  
  7.       
  8.       public  
  9.       static  
  10.       void main(String argv[]) {  
  11.         BasicConfigurator.configure();  
  12.         logger.debug("Hello world.");  
  13.         logger.info("What a beatiful day.");  
  14.       }  
  15.     }  

Output:

2013-12-14 13:02:06 ERROR Hello:12 - Hello world.
2013-12-14 13:02:06 INFO  Hello:13 - What a beatiful day.


----------------------------------------

Dylan   presents.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值