程序加载制定日志文件
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 经典配置的更多相关文章
-
t3用户-角色-权限hibernate经典配置
用户-角色-权限hibernate经典配置. 既然有人问起,我就写下说明吧.在文章中间的配置文件那里.权当回忆一下,也帮助更多人.这是以前学校时写的,没有注释.都是贴的代码笔记.看到的莫要见怪.欢迎学 ...
-
IIS集成和经典配置
检測到在集成的托管管道模式下不适用的ASP.NET设置的解决方法(非简单设置为[经典]模式). 我们将ASP.NET程序从IIS6移植到IIS7,可能执行提示下面错误: HTTP 错误 500. ...
-
Tomcat5.5.9+JSP经典配置实例
一.开发环境配置 第一步:下载j2sdk和tomcat:到sun官方站(http://java.sun.com/j2se/1.5.0/download.jsp)下载j2sdk,注意下载版本为Windo ...
-
CISCO ASA 5505 经典配置案例
nterface Vlan2 nameif outside ----------------------------------------对端口命名外端口 security-level 0 -- ...
-
spring经典配置
1.annotation方式 <?xml version="1.0" encoding="UTF-8"?><beans xmlns=" ...
-
Tomcat+JSP经典配置实例
经常看到jsp的初学者问tomcat下如何配置jsp.servlet和bean的问题,于是总结了一下如何tomcat下配置jsp.servlet和ben,希望对那些初学者有所帮助. 一.开发环境配置 ...
-
EHcache经典配置
记录重要的东西和常用的东西. <ehcache> <!-- 指定一个文件目录,当EHCache把数据写到硬盘上时,将把数据写到这个文件目录下 --> <diskStore ...
-
使用log4j配置不同文件输出不同内容
敲代码中很不注意写日志,虽然明白很重要.今天碰到记录日志,需要根据内容分别输出到不同的文件. 参考几篇文章: 感觉最详细:http://blog.csdn.net/azheng270/article/ ...
-
ubuntu14.04配置lnmp
看到了一片讲解ubuntu下安装lnmp的文章,跟着一步步的来,竟然很顺利的成功了,将文章复制如下,原著勿怪 一.操作步骤 1.安装Nginx sudo apt-get install update ...
随机推荐
-
MySQL 磁盘I/O问题
一.使用磁盘阵列:RAID,廉价磁盘冗余阵列,可靠性,性能好. 二.使用 Symbolic Links 分布I/O 利用操作系统的符号链接将不同的数据库或表.索引指向不同的物理磁盘,达到分布磁盘I/O ...
-
笔记 进程(processes)
进程:a program in execution(执行中的程序) 进程包括通过程序计数器(program counter)的值和处理器寄存器(processor's registers)的内容来表示 ...
-
不同浏览器对parseInt方法解析的不同
parseInt方法的作用是将字符串转换为数字 当parseInt解析的时候只有0x和非0开头的数字,浏览器解析都一致,例如”0xA1”或 “9”. 只有当开头为0的时候才出现不同.IE,chrome ...
-
【转】Android adb shell操作时出现“ XXX ... Read-only file system”解决办法--不错
原文网址:http://blog.csdn.net/whu_zhangmin/article/details/25364349 手机连接PC后 adb shell su rm -r /system/a ...
-
Unity 异步加载场景
效果图如下: 今天一直在纠结如何加载场景,中间有加载画面和加载完毕的效果动画! A 场景到 B , 看见网上的做法都是 A –> C –> B. C场景主要用于异步加载B 和 播放一些 ...
-
Easyui Tab使用
常见问题: 1. easyui 在子tab页中打开新tab页(关于easyUI在子页面增加显示tabs的一个问题) https://blog.csdn.net/u014805893/article/d ...
-
.net core实践系列之短信服务-目录
前言 经过两周多的业余时间,终于把该系列的文章写完了.第一次写系列,可能部分关键点并没有覆盖到,如果有疑问的朋友可以随时反馈给我.另外也感谢在我发布文章时给予我方案建议与反馈源码BUG的朋友们.下面是 ...
-
自学Linux Shell6.2-用户自定义环境变量
点击返回 自学Linux命令行与Shell脚本之路 6.2-用户自定义环境变量 1.设置局部用户定义变量 一旦启动bash shell(或者执行一个shell脚本),你就能创建这个shell进程可见的 ...
-
SQL:获取中文周几
) = case DatePart(DW, GetDate()) then '周日' then '周一' then '周二' then '周三' then '周四' then '周五' then '周 ...
-
腾讯hr面
腾讯hr面面经 20181018 寒暄几句 hr自我介绍 hr介绍面试和最后出结果的时间周期 进入主题 自我介绍 考研成绩专业第一 聊考研(考研的经过.考研和保研) 本科成绩 考研成绩超长发挥还是正常 ...