1、log4g日志尽量不记录info信息,只记录错误信息,且错误信息要包含接收的参数集合
2、记录log的地方尽量是最外层,如控制层的Controller、定时任务的Job;DAO层和Service层的异常可以抛出
3、使用log4j记录日志的时候,错误日志最好写成:logger.error(error,e);,不要写成:logger.error(e);,如下
package com.ifre.util;
import org.apache.log4j.Logger;
/**
* log日志输出
*
* @author CaiPeng
*
*/
public class LogTest {
private static Logger logger = Logger.getLogger(LogTest.class);
public static void main(String[] args) {
String info = "info", error = "error";
// 重要的信息,记录日志信息
logger.info(info);
try {
int i = 0;
System.out.println(1 / i);
} catch (Exception e) {
// 重要的信息,方便生产系统记录日志并通过日志查找错误
logger.error(error, e);
// 不建议如下,冗余
logger.error(e.getMessage(), e);
// 不建议如下,信息不完整
logger.error(e);
}
}
}