java 我想把一个服务里面的所有异常信息全部记录在logger里怎么配置

最好给一份配置好的logger文件
2025-05-17 14:21:28
推荐回答(4个)
回答1:

用log4j


配置文件:



 

 
    
       
       
       
       
                    
       
    
 
    
        
        
    

     


运用


先实例化


运用

回答2:


java将异常信息放在日志文件中,可以使用log4开源的日志类来记录,实例如下:
log4j.appender.file=org.apache.log4j.FileAppender
log4j.appender.file.File=D://info.log      //这里设置日志文件输出路径
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %m %n
log4j.rootLogger=DEBUG, file

//定义一个类
public class LogInfo {
Logger logger = Logger.getLogger(LogInfo.class.getName());

/**
 * 系统管理
 */
/**
 * @param addmin(String
 *            name,String addname)添加管理员
 * @param name
 *            String
 * @param addname
 *            String
 */
public void addadmin(String name, String addname) {
try {
logger.debug("管理员:" + name + "添加" + addname + "为管理员");
} catch (Exception ex) {
logger.info(ex.getMessage());
}
}
//……各种各样的方法自己定义
}

回答3:

log4j.rootLogger=debug,console,jbit,text

log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.Target=System.err
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %m%n

log4j.appender.jbit=org.apache.log4j.FileAppender
log4j.appender.jbit.File=jbit.log
log4j.appender.jbit.layout=org.apache.log4j.PatternLayout
log4j.appender.jbit.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %m%n

log4j.appender.text=org.apache.log4j.FileAppender
log4j.appender.text.File=abc.txt
log4j.appender.text.layout=org.apache.log4j.SimpleLayout

回答4:

拦截异常 然后把异常信息写进 log4j 里面 或者写入数据库都可以,怎么拦截请看springmvc里面的一个HandlerExceptionResolver,你写个实现之的类的方法, 如下(我手动写的 你不要复制 可是这个类是正确的)
public class XX implements HandlerExceptionResolver{
private static final Logger log = LoggerFactory.getLogger(XX .class);
@Override
public ModelAndView resolveException(HttpServletRequest request,
HttpServletResponse response, Object handler, Exception ex) {
//把ex的信息放进log4j里面
log.debug(ex.getMessage());

}
}