程序加载制定日志文件

public static final String log4j = "log4j.xml";

     /**
* @declare 加载log4j
* @throws IOException
* @author cphmvp
*/
private static void loadLog4j() throws IOException {
Properties p = new Properties();
InputStream is = null;
is = ClassLoader.getSystemResourceAsStream(log4j);
p.load(is);
PropertyConfigurator.configure(p);// 路径
is.close();
}

较为简单的 :log4j.properties 日志区分不细

#log4j.rootLogger =DEBUG,Console
log4j.rootLogger =info,LogFile,Console # Output the log info to the Java Console
log4j.appender.Console = org.apache.log4j.ConsoleAppender
log4j.appender.Console.Target = System.out
log4j.appender.Console.ImmediateFlush = true
log4j.appender.Console.Threshold = INFO
log4j.appender.Console.layout = org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} %-5p %x -%m%n # Save the log info to the log file one day.
log4j.appender.LogFile = org.apache.log4j.DailyRollingFileAppender
log4j.appender.LogFile.File = ./logs/error.log
log4j.appender.LogFile.Append = true
log4j.appender.LogFile.ImmediateFlush = true
log4j.appender.LogFile.Threshold = INFO
log4j.appender.LogFile.Encoding = UTF-8
log4j.appender.LogFile.layout = org.apache.log4j.PatternLayout
log4j.appender.LogFile.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} -[%-t] %-5p %-4c %x -%m%n log4j.logger.httpclient.wire.header=ERROR
log4j.logger.httpclient.wire.content=ERROR
log4j.logger.org.apache.commons.httpclient = ERROR
# Set framework log level is debug
log4j.logger.java.sql=ERROR
#log4j.logger.org.springframework.jdbc.core=DEBUG
#log4j.logger.com.opensymphony.oscache.base=DEBUG
org.apache.http.client.protocol=ERROR
# log4j.logger.org.springframework.security=DEBUG
log4j.logger.java.sql.Connection=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.PreparedStatement=DEBUG

较为完善的: 区分级别,可根据不同组织制定不同日志输出的 log4j.xml

 <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'>
<appender name="stdout" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="[%t] %d{yyyy.MM.dd HH:mm:ss} %5p - %m%n" />
</layout>
</appender>
<!--***********************************crawler日志 ********************************** -->
<!--****INFO级别***** -->
<appender name="crawler_infoLog" class="org.apache.log4j.RollingFileAppender">
<param name="File" value="./logs/crawler_info.log" />
<param name="maxFileSize" value="2000KB" />
<param name="maxBackupIndex" value="10" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="[%t] %d{yyyy.MM.dd HH:mm:ss} %5p - %m%n" />
</layout>
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="LevelMax" value="INFO" />
<param name="LevelMin" value="INFO" />
</filter>
</appender> <!--****WARN级别***** -->
<appender name="crawler_warnLog" class="org.apache.log4j.RollingFileAppender">
<param name="File" value="./logs/crawler_warn.log" />
<param name="maxFileSize" value="2000KB" />
<param name="maxBackupIndex" value="10" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="[%t] %d{yyyy.MM.dd HH:mm:ss} %5p - %m%n" />
</layout>
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="LevelMax" value="WARN" />
<param name="LevelMin" value="WARN" />
</filter>
</appender>
<!--****REEOR级别***** -->
<appender name="crawler_errorLog" class="org.apache.log4j.RollingFileAppender">
<param name="File" value="./logs/crawler_error.log" />
<param name="maxFileSize" value="2000KB" />
<param name="maxBackupIndex" value="10" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="[%t] %d{yyyy.MM.dd HH:mm:ss} %5p - %m%n" />
</layout>
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="LevelMax" value="ERROR" />
<param name="LevelMin" value="ERROR" />
</filter>
</appender>
<!--****FATAL级别***** -->
<appender name="crawler_fatalLog" class="org.apache.log4j.RollingFileAppender">
<param name="File" value="./logs/crawler_fatal.log" />
<param name="maxFileSize" value="2000KB" />
<param name="maxBackupIndex" value="10" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="[%t] %d{yyyy.MM.dd HH:mm:ss} %5p - %m%n" />
</layout>
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="LevelMax" value="FATAL" />
<param name="LevelMin" value="FATAL" />
</filter>
</appender> <!-- 记录该包下所有日志 -->
<logger name="org.apache">
<level value="INFO" />
<appender-ref ref="stdout" />
<appender-ref ref="crawler_infoLog" />
<appender-ref ref="crawler_warnLog" />
<appender-ref ref="crawler_errorLog" />
<appender-ref ref="crawler_fatalLog" />
</logger>
<logger name="com.alibaba.druid">
<level value="INFO" />
<appender-ref ref="stdout" />
<appender-ref ref="crawler_infoLog" />
<appender-ref ref="crawler_warnLog" />
<appender-ref ref="crawler_errorLog" />
<appender-ref ref="crawler_fatalLog" />
</logger> <logger name="com.loongtao.dmscrawler">
<level value="INFO" />
<appender-ref ref="stdout" />
<appender-ref ref="crawler_infoLog" />
<appender-ref ref="crawler_warnLog" />
<appender-ref ref="crawler_errorLog" />
<appender-ref ref="crawler_fatalLog" />
</logger> </log4j:configuration>

记录日志写法 ,error 级别的 logger.error(e.getMessage(),e);  【能显示详尽的信息,符合sona的语法检查 】

java_log4j 经典配置的更多相关文章

  1. t3用户-角色-权限hibernate经典配置

    用户-角色-权限hibernate经典配置. 既然有人问起,我就写下说明吧.在文章中间的配置文件那里.权当回忆一下,也帮助更多人.这是以前学校时写的,没有注释.都是贴的代码笔记.看到的莫要见怪.欢迎学 ...

  2. IIS集成和经典配置

    检測到在集成的托管管道模式下不适用的ASP.NET设置的解决方法(非简单设置为[经典]模式).  我们将ASP.NET程序从IIS6移植到IIS7,可能执行提示下面错误: HTTP 错误 500. ...

  3. Tomcat5.5.9+JSP经典配置实例

    一.开发环境配置 第一步:下载j2sdk和tomcat:到sun官方站(http://java.sun.com/j2se/1.5.0/download.jsp)下载j2sdk,注意下载版本为Windo ...

  4. CISCO ASA 5505 经典配置案例

    nterface Vlan2 nameif outside  ----------------------------------------对端口命名外端口  security-level 0 -- ...

  5. spring经典配置

    1.annotation方式 <?xml version="1.0" encoding="UTF-8"?><beans xmlns=" ...

  6. Tomcat+JSP经典配置实例

    经常看到jsp的初学者问tomcat下如何配置jsp.servlet和bean的问题,于是总结了一下如何tomcat下配置jsp.servlet和ben,希望对那些初学者有所帮助. 一.开发环境配置 ...

  7. EHcache经典配置

    记录重要的东西和常用的东西. <ehcache> <!-- 指定一个文件目录,当EHCache把数据写到硬盘上时,将把数据写到这个文件目录下 --> <diskStore ...

  8. 使用log4j配置不同文件输出不同内容

    敲代码中很不注意写日志,虽然明白很重要.今天碰到记录日志,需要根据内容分别输出到不同的文件. 参考几篇文章: 感觉最详细:http://blog.csdn.net/azheng270/article/ ...

  9. ubuntu14.04配置lnmp

    看到了一片讲解ubuntu下安装lnmp的文章,跟着一步步的来,竟然很顺利的成功了,将文章复制如下,原著勿怪 一.操作步骤 1.安装Nginx sudo apt-get install update ...

随机推荐

  1. MongoDB学习笔记-基础概念

    mongodb中基本的概念 文档.集合.数据库 与关系数据库的概念对比更容易理解

  2. javascript 正则匹配 提取所有 preg_match_all matchAll方法

    javascript 提取全部的的方法.javascript中没有matchAll这种方法. 用while来实现类似 PHP 中的preg_match_all() :(by default7#zbph ...

  3. Linux平台下裸设备的绑定:

    Linux平台下裸设备的绑定: 运用RAW绑定 方法一 raw的配置(1) [root@qs-dmm-rh2 mapper]# cat /etc/rc.local #!/bin/sh # # This ...

  4. HDU 5050 Divided Land(进制转换)

    题意  给你两个二进制数m,n   求他们的最大公约数  用二进制表示  0<m,n<2^1000 先把二进制转换为十进制  求出最大公约数  再把结果转换为二进制  数比較大要用到大数 ...

  5. Linux tcpdump命令具体解释

    简单介绍 用简单的话来定义tcpdump,就是:dump the traffic on a network,依据使用者的定义对网络上的数据包进行截获的包分析工具. tcpdump能够将网络中传送的数据 ...

  6. 【应用篇】Activiti显示器(抽象)简单的应用程序和服务的颗粒结合(两)

    Activiti简单的应用程序,业务颗粒与工作流程结合.让流程带动业务颗粒运行的过程.此次的监听我们应用抽象的监听来实现,也就是说全部的普通业务类均应用此抽象监听,而不须要每个类一个监听的来操作. 新 ...

  7. 在java代码中获取JVM参数(转)

    近日关注性能调优,关注JMX,发现java.lang.management.*之强大.同时查阅了资料,整合一版关于JVM参数获取的note,仅供参考: MemoryMXBean memorymbean ...

  8. Mysql 5.6 新特性

    随笔,真的随笔,以后理解得更深了再修改.   Index Condition Pushdown 更多的让存储引擎去处理Where语句中的条款,避免返回无关字段数据等:   Multi-Range Re ...

  9. LINQ之路系列文章导读

    本系列文章将会分为3篇来进行阐述,如下: LINQ之路(1):LINQ基础 LINQ之路(2):LINQ to SQL本质 LINQ之路(3):LINQ扩展

  10. JavaScript变量作用域和内存问题(二)

    执行环境是js中特别重要的概念,是指变量或者函数可以访问其他数据,定义自己的行为.每个执行环境都有一个与之相对应的变量对象,执行环境中定义的所有变量和函数都保存在这个变量中,我们看不到这个变量,但是后 ...