Java web添加log4j
2015-09-10 13:51
369 查看
要点:
1.打印日志到控制台和文件。
2.将指定的Java类日志输出到指定的文件。
步骤:
1.添加jar包。http://download.csdn.net/detail/xiakepan/9094753
2.添加配置文件。
log4j.properties
3.编写测试代码
Test.java
Test2.java
4.直接运行两个Java类。到项目logs目录下查看日志
红圈圈出的依次是:时间、日志级别、类路径和打印日志的行数、线程、e.getMessage日志、error(e,e)日志。
总结:我平时打印只关注debug、info、error和堆栈信息。所以只需要使用logger.debug、logger.info、logger.error、logger.error(e, e);这四个方法就行了。
目录结构:
1.打印日志到控制台和文件。
2.将指定的Java类日志输出到指定的文件。
步骤:
1.添加jar包。http://download.csdn.net/detail/xiakepan/9094753
2.添加配置文件。
log4j.properties
#可以设置级别:debug>info>error #debug:显示debug、info、error #info:显示info、error #error:只error #log4j.rootLogger=debug,appender1 #log4j.rootLogger=info,appender1 #log4j.rootLogger=error,appender1 #stdout输出到控制台 #R0输出到公共的文件 #R1只将test.Test2.java中的信息输出到一个专门的文件logs/test2/all2.log log4j.rootCategory=debug, stdout , R0 #R1只打印Test2类中的异常,可以实现某些类中的异常新建单独文件打印。 log4j.logger.test.Test2=debug, stdout , R1 #控制台配置 log4j.appender.stdout = org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout = org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss} [%p] %c - %m%n #整个项目输出的文件 log4j.appender.R0=org.apache.log4j.DailyRollingFileAppender log4j.appender.R0.layout=org.apache.log4j.PatternLayout log4j.appender.R0.layout.ConversionPattern=%-20d{yyyy-MM-dd HH:mm:ss} [%p](%c\:%L)(%t) - %m%n #将头一天的日志文件名改成logs/all.log.2014-12-31 log4j.appender.R0.DatePattern='.'yyyy-MM-dd #将日志文件放在logs/all.log中 log4j.appender.R0.File=logs/CatchNovel.log #R1指定类输出到指定的日志文件 log4j.appender.R1=org.apache.log4j.DailyRollingFileAppender log4j.appender.R1.layout=org.apache.log4j.PatternLayout log4j.appender.R1.layout.ConversionPattern=%-20d{yyyy-MM-dd HH:mm:ss} [%p](%C\:%L)(%t) - %m%n #将头一天的日志文件名改成logs/all.log.2014-12-31 log4j.appender.R1.DatePattern='.'yyyy-MM-dd #将日志文件放在logs/all.log中 log4j.appender.R1.File=logs/test2/test2.log
3.编写测试代码
Test.java
package test; import org.apache.log4j.Logger; public class Test { private static Logger logger = Logger.getLogger(Test.class); public void run() { // 记录debug级别的信息 logger.debug("This is debug message."); // 记录info级别的信息 logger.info("This is info message."); // 记录error级别的信息 logger.error("This is error message."); try{ int i = 5/0; }catch(Exception e){ logger.error("打印getMessage=" + e.getMessage()); logger.error("打印getStackTrace=" + e.getStackTrace()); logger.error("打印e=" + e); logger.error("打印error(e,e)="); logger.error(e, e); } } public static void main(String[] args) { Test t = new Test(); t.run(); } }
Test2.java
package test; import org.apache.log4j.Logger; public class Test2 { private static Logger logger = Logger.getLogger(Test2.class); public void run() { // 记录debug级别的信息 logger.debug("This is debug message."); // 记录info级别的信息 logger.info("This is info message."); // 记录error级别的信息 logger.error("This is error message."); try{ int i = 5/0; }catch(Exception e){ logger.error("打印getMessage=" + e.getMessage()); logger.error("打印getStackTrace=" + e.getStackTrace()); logger.error("打印e=" + e); logger.error("打印error(e,e)="); logger.error(e, e); } } public static void main(String[] args) { Test2 t = new Test2(); t.run(); } }
4.直接运行两个Java类。到项目logs目录下查看日志
红圈圈出的依次是:时间、日志级别、类路径和打印日志的行数、线程、e.getMessage日志、error(e,e)日志。
总结:我平时打印只关注debug、info、error和堆栈信息。所以只需要使用logger.debug、logger.info、logger.error、logger.error(e, e);这四个方法就行了。
目录结构:
相关文章推荐
- 搭建ssh框架报错
- Spring mvc注解详解
- spring+mybatis+struts2 所需jar包
- spring+springMVC+mybatis 所需jar包
- java 字符串中参数化符号${}的解析
- java中,通过身份证号获取信息
- Java分布式事务-转载
- JSP自定义标签扩展----支持EL,访问Spring容器
- Could not instantiate bean class [org.springframework.web.multipart.MultipartFile]: Specified class
- springMVC+maven+mybatis+Intellij IDEA环境搭建
- Eclipse快捷键 10个最有用的快捷键
- Java正则表达式详解
- Maven3路程(二)Eclipse集成Maven
- 以注解方式模拟Spring的IoC,AOP
- Spring资源抽象接口--Resource
- JAVA正则表达式 Pattern和Matcher
- quartz2.2.1与spring3.2.8版本不兼容的问题
- java bean 转为JSON
- solr4.7学习
- 如何把Java Script写成类