最近在用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:#666666;font-style: italic;"># Root logger option</span>
log4j.rootLogger=INFO, stdout <span style="color:#666666;font-style: italic;"># Direct log messages to stdout</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="color:#000000;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="color:#000000;font-weight: bold;">%</span>-5p <span style="color:#000000;font-weight: bold;">%</span>c<span style="font-weight: bold;">{</span><span style="color:#000000;">1</span><span style="font-weight: bold;">}</span>:<span style="color:#000000;font-weight: bold;">%</span>L - <span style="color:#000000;font-weight: bold;">%</span>m<span style="color:#000000;font-weight: bold;">%</span>n

3.2 输出到日志文件:

<span style="color:#666666;font-style: italic;"># Root logger option</span>
log4j.rootLogger=INFO, <span style="font-weight: bold;">file</span> <span style="color:#666666;font-style: italic;"># Direct log messages to a log file</span>
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=C:\\loging.log
log4j.appender.file.MaxFileSize=1MB
log4j.appender.file.MaxBackupIndex=<span style="color:#000000;">1</span>
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=<span style="color:#000000;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="color:#000000;font-weight: bold;">%</span>-5p <span style="color:#000000;font-weight: bold;">%</span>c<span style="font-weight: bold;">{</span><span style="color:#000000;">1</span><span style="font-weight: bold;">}</span>:<span style="color:#000000;font-weight: bold;">%</span>L - <span style="color:#000000;font-weight: bold;">%</span>m<span style="color:#000000;font-weight: bold;">%</span>n

3.3 输出到console同时输出到日志文件:

<span style="color:#666666;font-style: italic;"># Root logger option</span>
log4j.rootLogger=INFO, <span style="font-weight: bold;">file</span>, stdout <span style="color:#666666;font-style: italic;"># Direct log messages to a log file</span>
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=C:\\loging.log
log4j.appender.file.MaxFileSize=1MB
log4j.appender.file.MaxBackupIndex=<span style="color:#000000;">1</span>
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=<span style="color:#000000;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="color:#000000;font-weight: bold;">%</span>-5p <span style="color:#000000;font-weight: bold;">%</span>c<span style="font-weight: bold;">{</span><span style="color:#000000;">1</span><span style="font-weight: bold;">}</span>:<span style="color:#000000;font-weight: bold;">%</span>L - <span style="color:#000000;font-weight: bold;">%</span>m<span style="color:#000000;font-weight: bold;">%</span>n <span style="color:#666666;font-style: italic;"># Direct log messages to stdout</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="color:#000000;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="color:#000000;font-weight: bold;">%</span>-5p <span style="color:#000000;font-weight: bold;">%</span>c<span style="font-weight: bold;">{</span><span style="color:#000000;">1</span><span style="font-weight: bold;">}</span>:<span style="color:#000000;font-weight: bold;">%</span>L - <span style="color:#000000;font-weight: bold;">%</span>m<span style="color:#000000;font-weight: bold;">%</span>n

3.4  按天roll over(翻滚,转存)日志:

<span style="color:#666666;font-style: italic;"></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:#33ff33;"><span style="background-color: rgb(51, 255, 51);"><span style="color:#000000;">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、测试代码如下:

  1. import org.apache.log4j.Logger;
  2. import org.apache.log4j.BasicConfigurator;
  3. public class Hello {
  4. static Logger logger = Logger.getLogger(Hello.class);
  5. public
  6. static
  7. void main(String argv[]) {
  8. BasicConfigurator.configure();
  9. logger.debug("Hello world.");
  10. logger.info("What a beatiful day.");
  11. }
  12. }
import org.apache.log4j.Logger;
import org.apache.log4j.BasicConfigurator; public class Hello { static Logger logger = Logger.getLogger(Hello.class); public
static
void main(String argv[]) {
BasicConfigurator.configure();
logger.debug("Hello world.");
logger.info("What a beatiful day.");
}
}

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.

如何配置使用 Log4j的更多相关文章

  1. 有效Log4j按指定级别定向输出日志到指定的输出文件地址配置Threshold,log4j中如何屏蔽父logger输出源rootlogger的additivity配置,log4j向多个文件记录日志

    log4j向多个文件记录日志 关键配置,指定想要的日志级别信息输出到指定的日志文件中: log4j.appender.errorLogger.Threshold=ERROR #扩展,可指定只在子类自己 ...

  2. 【JavaEE】SSH+Spring Security基础上配置AOP+log4j

    Spring Oauth2大多数情况下还是用不到的,主要使用的还是Spring+SpringMVC+Hibernate,有时候加上SpringSecurity,因此,本文及以后的文章的example中 ...

  3. 02_MyBatis项目结构,所需jar包,ehcache.xml配置,log4j.properties,sqlMapConfig.xml配置,SqlMapGenerator.xml配置

     项目结构(所需jar包,配置文件) sqlMapConfig.xml的配置内容如下: <?xmlversion="1.0"encoding="UTF-8&qu ...

  4. 【配置】log4j.properties 详解与配置步骤

    一.Log4j基本使用方法 Log4j由三个重要的组件构成:[日志信息的优先级],[日志信息的输出目的地],[日志信息的输出格式]. 日志信息的优先级从高到低有ERROR.WARN. INFO.DEB ...

  5. 【Java】日志知识总结和经常使用组合配置(commons-logging,log4j,slf4j,logback)

    Log4j Apache的一个开放源码项目,通过使用Log4j,我们能够控制日志信息输送的目的地是控制台.文件.GUI组件.甚至是套接口服务 器.NT的事件记录器.UNIX Syslog守护进程等.用 ...

  6. 在android中配置 slf4j + log4j 日志记录框架

    需求: 在项目开发中,需要记录 操作日志 .起初自己写了个简单的日志记录文本写入到文本的方法,后来随着项目的膨胀,需要考虑更多的操作,开始考虑性能问题. 实现: 考虑使用 slf4j + log4j ...

  7. log4j 路径环境变量配置和log4j加载配置

    1.lo4j日志路径从环境变量读取,log4j.xml配置如下: 具体配置如下: log4j.appender.R.Encoding=UTF-8 log4j.appender.R=org.apache ...

  8. tomcat配置使用log4j管理日志

    从tomcat官网下载和tomcat对应的tomcat-juli.jar和tomcat-juli-adapters.jar,从log4j官网下载log4j的jar包(我用的是log4j-1.2.17. ...

  9. java:Mybatis框架1(基本配置,log4j,Junit4(单元测试))

    1.mybatis01: db.properties: driver=com.mysql.jdbc.Driver url=jdbc:mysql://localhost:3306/test userna ...

  10. mybatis 配置的log4j文件无效,不能正常显示日志信息

    正在学习mybatis,配置好后log4j.properties文件后,日志信息不能正常显示,没有效果. 查看了一下mybatis的相关文档,在日志一栏找到问题愿意 原因是我们的mybatis选了其他 ...

随机推荐

  1. 第 1 章 HTML5 概述

    学习要点: 1.HTML5 的历史 2.HTML5 的功能 3.HTML5 的特点 4.课程学习问题 主讲教师:李炎恢 HTML5 是继 HTML4.01 和 XHTML1.0 之后的超文本标记语言的 ...

  2. Intellij Idea上传本地项目到Git

    方法一:选择菜单VCS-Import into Version Control - Share project on Github,填写仓库名和github账户之后,点击"Share&quo ...

  3. C#实现通过Gzip来对数据进行压缩和解压

    C#实现通过Gzip来对数据进行压缩和解压 internal static byte[] Compress(byte[] data) { using (var compressedStream = n ...

  4. Python私有变量

    # 访问限制的保护,代码更加健壮 class Student(object): def __init__(self,name,score): self.__name= name self.__scor ...

  5. 学习hadoop遇到的问题

    1.运行hadoop的帐号,需要多大的权限? 之前实验用的帐号是root,后来新建了个普通帐号,发觉不能直接套用到已经建立好的hadoop系统,因为无权限,即使将普通帐号加入到root群组仍然存在异常 ...

  6. fontIconPicker – 优雅的 jQuery 字体图标选择

    jQuery fontIconPicker 是一个小的 jQuery 插件,它可以让你实现一个优雅的带有分类.搜索和分页功能的图标选择器.图标列表可手动从下拉列表框,图标数组或对象,或者从 Fonte ...

  7. Mega Dropdown - 带子分类的响应式下拉菜单

    当你在开发一个内容很多的 Web 项目的时候,最具挑战性的部分之一是为了如果更方便用户浏览这些内容.我们都能想到的一个例子是 Amazon,无限的类别以及它们的子类别.Mega Dropdown 是带 ...

  8. Papa Parse – 超强大的多线程 CSV 文本解析库

    Papa Parse 是一个与众不同的,在网页上运行的第一个多线程的 CSV 解析器.它可以解析千兆字节大小文件而不会导致浏览器崩溃.它能够正确地处理格式不正确或边缘的情况下的 CSV 文本.它可以分 ...

  9. 刷新拜拜~gulp-livereload

    早就想要自动自动自动刷新了啊,曾经用grunt实现过,但是是yeoman建好的..其中很多任务我是用不到的啊,为了干净还是得要自己写啊哈哈(现在我只想要自动刷新). 首先node是必须的了-就不说怎么 ...

  10. 深入源码分析使用jQuery连续发起jsonp请求失败的原因

    jQuery的 jsonp 大家应该是十分熟悉了.曾遇到过这样的需求1.希望请求几个相似的内容添加到页面2.请求的内容一定时间内是固定不变的,希望做个缓存. 于是脑子一拍写下了类似这样的代码 for( ...