log4j是很常用的日志类包,在此做一下配置的记录
  • 加载jar包和properities配置文件
            将commons-logging.jar和logging-log4j.jar放在lib中
           将log4j.properties放在src根目录中或者resource中。
  • properties具体配置信息
log4j.rootLogger = INFO , info, warn, error, stdout

###控制台输出
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 =  %d{ABSOLUTE} %5p %c{1}:%L - %m%n ###info级别输出
log4j.logger.info = info 
log4j.appender.info = org.apache.log4j.DailyRollingFileAppender
log4j.appender.info.File = ${webroot}/logs/convert_info.log
log4j.appender.info.Append = true
log4j.appender.info.Threshold = INFO 
log4j.appender.info.layout = org.apache.log4j.PatternLayout
log4j.appender.info.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n
log4j.appender.info.datePattern='.'yyyy-MM-dd 
log4j.appender.info.filter.infoFilter = org.apache.log4j.varia.LevelRangeFilter
log4j.appender.info.filter.infoFilter.LevelMin=INFO
log4j.appender.info.filter.infoFilter.LevelMax=INFO ###warn级别输出
log4j.logger.warn = warn 
log4j.appender.warn=org.apache.log4j.DailyRollingFileAppender 
log4j.appender.warn.File = ${webroot}/logs/convert_warn.log
log4j.appender.warn.Append=true 
log4j.appender.warn.Threshold=WARN 
log4j.appender.warn.layout=org.apache.log4j.PatternLayout 
log4j.appender.warn.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n
log4j.appender.warn.datePattern='.'yyyy-MM-dd
log4j.appender.warn.filter.warnFilter=org.apache.log4j.varia.LevelRangeFilter
log4j.appender.warn.filter.warnFilter.LevelMin=WARN
log4j.appender.warn.filter.warnFilter.LevelMax=WARN ###error级别输出
log4j.logger.error = error 
log4j.appender.error = org.apache.log4j.DailyRollingFileAppender
log4j.appender.error.File = ${webroot}/logs/convert_error.log
log4j.appender.error.Append = true
log4j.appender.error.Threshold = ERROR 
log4j.appender.error.layout = org.apache.log4j.PatternLayout
log4j.appender.error.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n
log4j.appender.error.datePattern='.'yyyy-MM-dd
log4j.appender.error.filter.errorFilter=org.apache.log4j.varia.LevelRangeFilter
log4j.appender.error.filter.errorFilter.LevelMin=ERROR
log4j.appender.error.filter.errorFilter.LevelMax=ERROR
  • 给webroot变量设置值
    private void log4jInitialized(){
String log4jPath = "";
try {
log4jPath = ApplicationInitListener.class.getResource("").toURI().getPath();
log4jPath = log4jPath.substring(0, log4jPath.indexOf("WEB-INF")) + "WEB-INF";
} catch (URISyntaxException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} System.setProperty("webroot", log4jPath);
}

在网站应用程序初始化时调用

    public void contextInitialized(ServletContextEvent arg0) {
/*初始化日志路径*/
log4jInitialized(); }
  • 参考资料
             1、网上很多一样号称能够实现分级存储日志的配置,但实际上不是真正的分级存储
                   http://www.iteye.com/topic/744693
             2、真正能够实现分级的而不需要实现编程的配置方法
                   http://wendal.net/219.html
             3、通过编程方式实现分级方法,有了上面的实现方式,不用进行编程,哈
                   http://blog.csdn.net/projava/article/details/7344839

log4j的properties详细配置,分级输出日志文件的更多相关文章

  1. log4j.properties详细配置

    转自:http://blog.sina.com.cn/s/blog_5ed94d710101go3u.html ①配置根Logger,其语法为: #log4j.rootLogger = [level] ...

  2. log4j配置输出日志文件

    在测试程序时,有时候运行一次可能需要很久,把日志文件保存下来是很有必要的,本文给出了scala程序输出日志文件的方式,同时使用本人的另一篇博客中介绍的将log4j.properties放到程序jar包 ...

  3. Linux nohup不输出日志文件的方法

    引用:https://blog.csdn.net/guotao15285007494/article/details/84136234 最近在Linux上部署视频流推送应用时,由于网络不稳定等原因程序 ...

  4. 使用logback.xml配置来实现日志文件输出

    转自:http://sungang-1120.iteye.com/blog/2104296 Logback是由log4j创始人设计的又一个开源日志组件.logback当前分成三个模块:logback- ...

  5. log4net日志输出配置即输出到文件又输出到visual studio的output窗口

    <configuration> <configSections> <section name="log4net" type="log4net ...

  6. Nginx基础知识学习(安装/进程模型/事件处理机制/详细配置/定时切割日志)

    一.Linux下Nginx的安装 1.去官网 http://nginx.org/download/下载对应的Nginx安装包,推荐使用稳定版本. 2.上传Nginx到Linux服务器. 3.安装依赖环 ...

  7. Log4j使用笔记:每天生成一个日志文件、按日志大小生成文件

    其中TestLog4j.java如下: package cn.zhoucy.test; import org.apache.log4j.Logger; public class TestLog4j { ...

  8. Node.js系列文章:利用console输出日志文件

    通常我们在写Node.js程序时,都习惯使用console.log打印日志信息,但这也仅限于控制台输出,有时候我们需要将信息输出到日志文件中,实际上利用console也可以达到这个目的的,今天就来简单 ...

  9. mysql主从复制linux配置(二进制日志文件)

    安装mysql,两台机器一主(192.168.131.153),一从(192.168.131.154) 主机配置 修改主/etc/my.cnf文件 添加 #server_id=153 ###服务器id ...

随机推荐

  1. C++内存管理(超长,例子很详细,排版很好)

    [导语] 内存管理是C++最令人切齿痛恨的问题,也是C++最有争议的问题,C++高手从中获得了更好的性能,更大的自由,C++菜鸟的收获则是一遍一遍的检查代码和对C++的痛恨,但内存管理在C++中无处不 ...

  2. struts一点心得

    action中: 设置属性并增加get,set方法,给属性赋值后 (如: private String name; public String getName() { return name; } p ...

  3. nyist 740 “炫舞家“ST(动态规划)

    dp[i][j][k]:表示第i次踩踏后两脚的位置j,k 先固定一只脚的位置j,第i次踩踏后,状态为dp[i][j][a[i]]或者dp[i][a[i]][j],其中a[i]表示第i个输入的元素,则有 ...

  4. op论坛,分支

    http://www.arm9home.net/thread.php?fid=68 http://www.openwrt.org.cn/bbs/forum.php https://dev.openwr ...

  5. HDU 5969 最大的位或 【贪心】 (2016年中国大学生程序设计竞赛(合肥))

    最大的位或 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Problem De ...

  6. RobotFramework+Selenium2library+Appium+Python+RIDE安装指南

    最近在测试APP+WEB,想找一个好的自动化测试工具.然后发现RIDE这工具,框架比较自由,支持中文,有测试报告. 一个好的自动化测试就应该包含:Case管理+脚本的编写+自动生产报告. 如此一想,这 ...

  7. glsl-UBO

    UBO 是什么?为何要用UBO? 1.数据共享设计 采用Block的原因是: 如果你的程序中包含了多个着色器,而且这些着色器使用了相同的Uniform变量,你就不得不为每个着色器分别管理这些变量.Un ...

  8. iphone上click事件不触发的问题解决。

    iphone上click事件不触发的问题解决. //在ID为jsProvince上有这么一个事件: $('body').on('click', '#jsProvince', function(e){ ...

  9. fopen\fread\fwrite\fscanf\fprintf\fseek\feof\rewind\fgets\fputc等系列函数使用总结

    转载自:http://blog.csdn.net/xidianzhimeng/article/details/23541289 1 fopen 函数原型:FILE * fopen(const char ...

  10. wxWidgets一个界面与数据分离的简单例子

    /*************************************************************** * Name: MyApp.h * Purpose: Defines ...