笔记之用
记录日志首先要有log4j.properties,配置如下:
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{yyyy-MM-dd HH:mm:ss} %p [%t] (%F:%L) - %m%n
log4j.rootLogger=info, stdout,DR
log4j.logger.org.hibernate.test=info
log4j.logger.org.hibernate.tool.hbm2ddl=debug
log4j.logger.org.hibernate.sql.ordering.antlr.OrderByFragmentTranslator=trace
log4j.appender.DR=org.apache.log4j.RollingFileAppender
log4j.appender.DR.File=D:/apache-tomcat-6.0.32/logs/pageloading.log
log4j.appender.DR.MaxFileSize=10MB
# Archive log files
log4j.appender.DR.MaxBackupIndex=100
log4j.appender.DR.DatePattern='.'yyyy-MM-dd
log4j.appender.DR.layout=org.apache.log4j.PatternLayout
log4j.appender.DR.layout.ConversionPattern=%d{yyyy-MM-dd hh:mm:ss} %p [%t] (%F:%L) - %m%n
上面的log4j.appender.DR.File=D:/apache-tomcat-
6.0
.
32
/logs/pageloading.log就是指定日志的路径
在Action中要记录日志的话,首先要有
private Logger logger = Logger.getLogger(UserAction.class);--传进来的是当前类的clas
记录的话用
this.logger.info("具体信息");
this.logger.error("具体信息");
但是如果程序在执行的时候报异常了,是记录不了异常的,所以要对异常进行处理,比如说
try {
System.out.println(10/0);//执行到这里会报异常
} catch (Exception e) {
StringWriter sw=new StringWriter();
PrintWriter pw=new PrintWriter(sw);
e.printStackTrace(pw);
this.logger.error(sw.toString());
}
这样就把异常的错误详细信息给记录到日志里了
异常日志记录工具类
import java.io.PrintWriter;
import java.io.StringWriter;
import org.apache.log4j.Logger;
public class LogUtil {
private LogUtil() {
}
private static StringWriter sw=new StringWriter();
private static PrintWriter pw=new PrintWriter(sw);
public static void info(Class logClass, Exception e) {
Logger logger = Logger.getLogger(logClass);
e.printStackTrace(pw);
logger.error(sw.toString());
}
public static void error(Class logClass, Exception e) {
Logger logger = Logger.getLogger(logClass);
e.printStackTrace(pw);
logger.error(sw.toString());
}
public static void warn(Class logClass, Exception e) {
Logger logger = Logger.getLogger(logClass);
e.printStackTrace(pw);
logger.error(sw.toString());
}
public static void debug(Class logClass, Exception e) {
Logger logger = Logger.getLogger(logClass);
e.printStackTrace(pw);
logger.error(sw.toString());
}
}
如何使用呢
try {
System.out.println(10/0);
} catch (Exception e) {
LogUtil.info(UserAction.class, e);
}
这样记录日志就方便了....
分享到:
相关推荐
使用log4net组件进行错误日志的记录。使用文本形式记录,直接可以放到项目中用,此代码有详细的注释,
log4j的简单配置,可以直接在项目中用,当然只是用自己学习时用。
项目开发中用到的日志框架,log4j配置详解
日志格式和项目中用log4j打出来的不一致,不利于解析。 从tomcat官网(https://tomcat.apache.org/tomcat-7.0-doc/logging.html)上找了下,修改一些配置、替换扩展包即可使用log4j输出catalian.out。 在$CATALINA_...
早期的vc++/CLI开发,需要升级,原来代码中用log4net 早期的版本,因此从官网下载最近源代码和release版本,分享给大家
本人是初次使用nodejs开发,在开发中用到日志log4j,整理一个demo对以后在开发时可以参考,也希望对刚学nodejs使用日志的初学者有帮助。
Delphi中用多线程实现日志文件的读写与管理
log4e插件,在java代码中用该工具可以方便的插入日志
java 论坛 项目中用过
NULL 博文链接:https://llying.iteye.com/blog/951947
notepad++ 查看log的语言格式
执行Drop Table和Truncate Table命令虽然会被SQLServer记录到日志文件中,但是并不记录被删除的数据。你可以使用LogExplore提供的功能来恢复这些数据。LogExplore提供两种机制来恢复被Drop或者Truncate的数据。 1、...
执行Drop Table和Truncate Table命令虽然会被SQLServer记录到日志文件中,但是并不记录被删除的数据。你可以使用LogExplore提供的功能来恢复这些数据。LogExplore提供两种机制来恢复被Drop或者Truncate的数据。 1、...
swing类的简单使用(一个项目中用到,自学),包括几个小例子
执行Drop Table和Truncate Table命令虽然会被SQLServer记录到日志文件中,但是并不记录被删除的数据。你可以使用LogExplore提供的功能来恢复这些数据。LogExplore提供两种机制来恢复被Drop或者Truncate的数据。 1、...
http://blog.csdn.net/manageer/article/details/51169742 本博客中用到
以前的项目中用到过,虽然国内项目用到的不多
执行Drop Table和Truncate Table命令虽然会被SQLServer记录到日志文件中,但是并不记录被删除的数据。你可以使用LogExplore提供的功能来恢复这些数据。LogExplore提供两种机制来恢复被Drop或者Truncate的数据。 1、...
因为在项目中需要记录Log,所以研究了一下Log4Net。我这里主要是教给大家winform如何在app.config中配置,可以让不同的Log信息存储在不同的路径下的文件中。同时附上了自己手写的一个C_LogWriter.cs输出类,配置好...
最近项目中用的服务器-客户端(源码)