异步线程写入日志,这样既不会影响业务代码,也不会影响系统性能,像你直接在主线程添加记录日志方法,如果写入比较慢的话,甚至会导致用户使用正常功能延迟而产生页面请求超时。
原州网站建设公司创新互联,原州网站设计制作,有大型网站制作公司丰富经验。已为原州千余家提供企业网站建设服务。企业网站搭建\成都外贸网站制作要多少钱,请找那个售后服务好的原州做网站的公司定做!
关于java日志,下面以Log4j为例子说明(供参考)。
1、导包(Log4j所依赖的jar包)
2、配置属性文件。如下:
3、遍写调用日志方法的接口
public interface LoggerUtil {
// 得到Logger,用于打印日志
Logger logger = Logger.getLogger(LoggerUtil.class);
}
4、使用Log4j
//删除数据
@RequestMapping("/delete.do")
public String delete(Students students) {
try {
stuService.delete(students);
} catch (Exception e) {
// 直接使用
LoggerUtil.logger.error(e.getMessage());
}
return "redirect:selectAll.do";
}
import java.util.Date;
public class Logger {
private static Logger instance;
private static Class clazz;
private Logger() {
}
private Logger(Class clazz) {
this.instance = new Logger();
this.clazz = clazz;
}
public static Logger getLogger(Class clazz) {
if (instance == null) {
synchronized (Logger.class) {
if (instance == null) {
instance = new Logger(clazz);
}
}
}
return instance;
}
public void info(String msg) {
System.out.println(clazz.getName() + "[" + new Date().toLocaleString()
+ "][info]:" + msg);
}
public void error(String msg) {
System.out.println(clazz.getName() + "[" + new Date().toLocaleString()
+ "][error]:" + msg);
}
public void warn(String msg) {
System.out.println(clazz.getName() + "[" + new Date().toLocaleString()
+ "][warn]:" + msg);
}
public void log(String msg) {
System.out.println(clazz.getName() + "[" + new Date().toLocaleString()
+ "][log]:" + msg);
}
public static void main(String args[]) {
Logger s = Logger.getLogger(String.class);
s.info("普通消息");
}
}