最近开始在研究log4j,可能因为是想要自己去搭建框架那。

废话不多说,先上一个例子好了。

第一步:当然是引入对象的jar包了

地址:http://www.apache.org/dyn/closer.cgi/logging/log4j/1.2.17/log4j-1.2.17.tar.gz

第二步:代码

package com.sun.test;

import org.apache.log4j.Logger;
import org.apache.log4j.xml.DOMConfigurator; /**
* @author szy
* @version 创建时间:2018-4-5 下午9:35:00
*
*/
public class Test1 { private static Logger logger = Logger.getLogger(Test1.class); /**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
//读取使用Java的特性文件编写的配置文件 logger.debug("[1]-my level is DEBUG 天");
logger.info("[2]-my level is INFO");
logger.warn("[3]-my level is WARN");
logger.error("[4]-my level is ERROR"); } }

第三步:log4j.xml加入配置文件

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration> <!-- 将日志信息输出到控制台 -->
<appender name="stdout" class="org.apache.log4j.ConsoleAppender">
<!-- 设置日志输出的样式 --> <layout class="org.apache.log4j.PatternLayout">
<!-- 设置日志输出的格式 -->
<!-- <param name="ConversionPattern" value="[%d{yyyy-MM-dd HH:mm:ss:SSS}] [%-5p] [method:%l]%n%m%n%n" /> -->
<param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} [%-5p] %m%n"/>
<param name="Threshold" value="info"></param>
</layout>
<!-- 过滤器设置输出的级别 -->
<!-- <filter class="org.apache.log4j.varia.LevelRangeFilter">
设置日志输出的最小级别
<param name="levelMin" value="DEBUG" />
设置日志输出的最大级别
<param name="levelMax" value="ERROR" />
设置日志输出的xxx,默认是false
<param name="AcceptOnMatch" value="true" />
</filter> -->
</appender> <!-- 输出日志到文件 每天一个文件 -->
<appender name="logfile" class="org.apache.log4j.DailyRollingFileAppender">
<param name="Threshold" value="info"></param>
<!-- 设置日志信息输出文件全路径名 -->
<param name="File" value="D:/log4j/logs/logFile.log" />
<!-- 设置日志以天为单位回滚一次,即产生一个新的日志文件 -->
<param name="DatePattern" value="'.'yyyy-MM-dd'.log'" />
<!-- 设置日志输出的样式 -->
<layout class="org.apache.log4j.PatternLayout">
<!-- 设置日志输出的格式 -->
<param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} [%-5p] %m%n" />
</layout>
</appender> <!-- 输出日志到文件 文件大小到达指定尺寸的时候产生一个新的文件 -->
<!-- 将日志信息输出到文件,但是当文件的大小达到某个阈值的时候,日志文件会自动回滚 -->
<appender name="railyFile" class="org.apache.log4j.RollingFileAppender">
<!-- 设置日志信息输出文件全路径名 -->
<param name="File" value="D:/log4j/logs/logFile2.log" />
<!-- 设置是否在重新启动服务时,在原有日志的基础添加新日志
<param name="Append" value="true" /> -->
<!-- 设置保存备份回滚日志的最大个数 -->
<param name="MaxBackupIndex" value="10" />
<!-- 设置当日志文件达到此阈值的时候自动回滚,单位可以是KB,MB,GB,默认单位是KB -->
<param name="MaxFileSize" value="10MB" />
<!-- 设置日志输出的样式 -->
<layout class="org.apache.log4j.PatternLayout">
<!-- 设置日志输出的格式 -->
<param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} [%-5p] %m%n" />
</layout>
</appender> <root>
<level value="debug" />
<appender-ref ref="stdout"/>
<appender-ref ref="logfile"/>
<appender-ref ref="railyFile"/>
</root>
</log4j:configuration>

 之后运行,主程序,能在控制台和log文件里面看到所打印的信息,便说明成功了。

这里会发现,其实并没有哪里去配置log对象去读取配置文件的。

最新文章

  1. WCF学习之旅—WCF4.0中的简化配置功能(十五)
  2. XVI Open Cup named after E.V. Pankratiev. GP of Peterhof
  3. mysql主从复制的一篇文章(转载)
  4. CSS3系列:魔法系列
  5. BlueDroid介绍
  6. HDU - 3068 最长回文(manacher)
  7. Android 之异步任务(AsyncTask,Handler,Message,looper)
  8. Spring入门篇总结:
  9. TypeError: Error #1009: 无法访问空对象引用的属性或方法
  10. 项目Alpha冲刺(团队)-第二天冲刺
  11. React Native之code-push的热更新(ios android)
  12. F#周报2018年第50期
  13. MATLAB简易验证码识别程序介绍
  14. JsonCpp操作数组对象
  15. leetcode-longest palindromic substring-by 1337c0d3r
  16. Django:学习笔记(2)——创建第一个应用
  17. 微信小程序网络请求的setDate
  18. MFC U盘检测
  19. Spark SQL概念学习系列之Spark SQL入门(八)
  20. 使用 Swift 3.0 操控日期

热门文章

  1. iOS-高仿支付宝手势解锁(九宫格)
  2. NYOJ----次方求模
  3. Flyod 算法(两两之间的最短路径)
  4. laravel 5.1 添加第三方扩展库
  5. 【Linux】排序命令uniq
  6. HTML中button和input button的区别
  7. Linux内核中锁机制之信号量、读写信号量
  8. redis实践:用户注册登录功能
  9. IP和java.net.InetAddress类的使用
  10. WCF小问题总汇