博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Log4j的简单使用
阅读量:6677 次
发布时间:2019-06-25

本文共 2789 字,大约阅读时间需要 9 分钟。

log4j.properties

log4j.rootCategory=INFO, stdoutlog4j.rootLogger=info, stdout### stdout ###log4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.Target=System.outlog4j.appender.stdout.layout=org.apache.log4j.PatternLayoutlog4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p - %m%n### set package ###log4j.logger.org.apache.catalina=infolog4j.logger.org.apache.commons.digester.Digester=infolog4j.logger.org.apache.catalina.startup.TldConfig=infolog4j.logger.com.dheaven=debug

配置Logger

log4j.rootCategory=level,appenderName,...

log4j.rootLogger=level,appenderName,...
Logger类是Category类的子类
常用level:ERROR、WARN、INFO、DEBUG
appenderName指定日志信息输出到哪个地方,可同时指定多个输出目的地。


配置输出目的地Appender

log4j.appender.appenderName = classInfo

log4j.appender.appenderName.option = value

Log4j提供的appender有以下几种:

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

当option为layout时,即配置日志信息的格式

log4j.appender.appenderName.layout = classInfo
log4j.appender.appenderName.layout.option = value

Log4j提供的layout有以下几种:

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

设置package输出级别

log4j.logger.packageName=level

packageName为实际的包名,level为日志级别

web.xml

log4j-init
InitLog4j
log4j-init-file
WEB-INF/log4j.properties
1
log4j-init
/init
InitServlet
InitServlet
2
InitServlet
/test

InitLog4j.java

public class InitLog4j extends HttpServlet{    @Override    public void init() throws ServletException {        String prefix=getServletContext().getRealPath("/");        prefix = prefix.replace("//", "/");        String file = getInitParameter("log4j-init-file");        if(file!=null){            //加载log4j.properties            PropertyConfigurator.configure(prefix + file);        }    }}

InitServlet

public class InitServlet extends HttpServlet {    protected Logger log = Logger.getLogger(InitServlet.class);    private static final long serialVersionUID = 8550329576989690578L;    public InitServlet(){        super();    }    @Override    public void destroy() {        super.destroy();    }    @Override    public void init() throws ServletException {      log.info("print from log4j");    }}

转载于:https://www.cnblogs.com/jiehuifang/p/7669066.html

你可能感兴趣的文章
[Node] Using dotenv to config env variables
查看>>
Easyui的numberbox无法输入以0开头的数字编号(转载)
查看>>
网页截图工具CutyCapt
查看>>
Android Jni Android.mk经常使用语句
查看>>
《影响力》6个使人顺从的武器之一互惠原理深入剖析
查看>>
Guava学习之Preconditions
查看>>
移动电力猫HG260GT pon实现路由拨号
查看>>
linux 系统获得当前文件夹下存在的所有文件 scandir函数和struct dirent **namelist结构体[转]...
查看>>
关于inodes占用100%的问题及解决方法
查看>>
nvidia驱动安装
查看>>
XHTML 教程(摘录自 W3C School)
查看>>
Directx11教程(50) 输出depth/stencil buffer的内容
查看>>
搜索引擎首页
查看>>
YARN - Yet Another Resource Negotiator
查看>>
[ASP.NET MVC 小牛之路]03 - Razor语法(转)
查看>>
linux系统下make & make install
查看>>
053医疗项目-模块五:权限设置-将用户操作权限写入Session
查看>>
DocX开源WORD操作组件的学习系列一
查看>>
box2dflash flash物理引擎
查看>>
python 守护线程和loggin模块
查看>>