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

最好给一份配置好的logger文件

用log4j


配置文件:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration PUBLIC "-//log4j/log4j Configuration//EN" "log4j.dtd">
 
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
 
    <appender name="RollingAppender" class="org.apache.log4j.DailyRollingFileAppender">
       <param name="File" value="logs/app.log" />
       <param name="Encoding" value="UTF-8" />
       <param name="DatePattern" value="'.'yyyy-MM-dd" />
       <layout class="org.apache.log4j.PatternLayout">
          <param name="ConversionPattern" value="[%p] %d %c %M - %m%n"/>          
       </layout>
    </appender>
 
    <root>
        <priority value="DEBUG"/>
        <appender-ref ref="RollingAppender" />
    </root>
     
</log4j:configuration>


运用


先实例化


运用

温馨提示:内容为网友见解,仅供参考
第1个回答  2015-10-30

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());
}
}
//……各种各样的方法自己定义
}

第2个回答  2013-12-13
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
第3个回答  2013-12-13
拦截异常 然后把异常信息写进 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());

}
}本回答被提问者采纳
相似回答