两部分日志,hibernate3的信息和自定义AOP日志处理类的信息。都想打印到磁盘,但是目前只能打印到控制台。
附上自定义日志处理类。怎么改可以满足需求
package cn.gov.csrc.log;import org.apache.log4j.LogManager;
import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;
import org.aspectj.lang.ProceedingJoinPoint;
import org.springframework.stereotype.Component;@Component
public class GenericLoggerBean {
private static Logger logger = LogManager.getLogger(GenericLoggerBean.class);
public Object invoke(ProceedingJoinPoint joinPoint) throws Throwable{
//PropertyConfigurator.configure("csrc_cfw/WEB-INF/classes/log4j.properties");
logger.warn("Beginning method : " + joinPoint.getTarget().getClass() + "." + joinPoint.getSignature().getName()+ "()");
long startTime = System.currentTimeMillis();
try{
Object result = joinPoint.proceed();
return result;
}catch(Exception e){
logger.error(joinPoint.getTarget().getClass() + "." + joinPoint.getSignature().getName() + "() invoke error" );
logger.error("error info ["+e.getMessage()+"]");
e.printStackTrace();
}finally{
logger.info("Ending method : " + joinPoint.getTarget().getClass() + "." + joinPoint.getSignature().getName() + "()");
logger.info("Method invocation time : " + (System.currentTimeMillis() - startTime) + " ms.");
}
return null;
}
}
附上自定义日志处理类。怎么改可以满足需求
package cn.gov.csrc.log;import org.apache.log4j.LogManager;
import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;
import org.aspectj.lang.ProceedingJoinPoint;
import org.springframework.stereotype.Component;@Component
public class GenericLoggerBean {
private static Logger logger = LogManager.getLogger(GenericLoggerBean.class);
public Object invoke(ProceedingJoinPoint joinPoint) throws Throwable{
//PropertyConfigurator.configure("csrc_cfw/WEB-INF/classes/log4j.properties");
logger.warn("Beginning method : " + joinPoint.getTarget().getClass() + "." + joinPoint.getSignature().getName()+ "()");
long startTime = System.currentTimeMillis();
try{
Object result = joinPoint.proceed();
return result;
}catch(Exception e){
logger.error(joinPoint.getTarget().getClass() + "." + joinPoint.getSignature().getName() + "() invoke error" );
logger.error("error info ["+e.getMessage()+"]");
e.printStackTrace();
}finally{
logger.info("Ending method : " + joinPoint.getTarget().getClass() + "." + joinPoint.getSignature().getName() + "()");
logger.info("Method invocation time : " + (System.currentTimeMillis() - startTime) + " ms.");
}
return null;
}
}
解决方案 »
- 一个URLConnection类的问题,请教一下各位高人
- 求spring security的xsd文件
- 我做孙卫琴老师书中的例子,没成功,检查好久,都没发现问题在哪?向各位请教一下!
- 简单问题在线等
- 请问:网易126邮箱中邮件的拖放功能是使用什么技术实现的?????????
- 请教,怎么才能用网址直接访问服务器的JSP程序
- 如何在TextBox中的光标指定位置插入一段文字?
- SourceMed project是啥意思啊?
- jsp中的数据库问题,求教!!急
- 请教:什么地方有如何设置TOMCAT的文档
- 急求代码(怎么写代码来实现空间里面“日志”的效果)?
- 表单提交及AJax问题,涉及模糊查询,页面无刷新
http://www.cnblogs.com/ITEagle/archive/2010/04/23/1718365.html
log4j.rootCategory=WARN,stdout,filelog4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.EnhancedPatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss.SSS}|%p|MGW|%X{userId}%m%nlog4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.file=sample.log
log4j.appender.file.maxFileSize=20MB
log4j.appender.file.maxBackupIndex=10
log4j.appender.file.layout=org.apache.log4j.EnhancedPatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss.SSS}|%p|%m%n
添加一个appender(红色部分),能写文件的append有好几个,常用的就是这个org.apache.log4j.RollingFileAppender,可以设置生成的日志文件大小上限
<property name="log.base" value="../logs/mer" />
<!-- 文件输出日志 (文件大小策略进行文件输出,超过指定大小对文件备份) -->
<appender name="debugLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<Encoding>UTF-8</Encoding>
<File>${log.base}/debug.log</File>
</appender>
#org.apache.log4j.ConsoleAppender(控制台),
#org.apache.log4j.FileAppender(文件),
#org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件),
#org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件),
#org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)
log4j.appender.stdout=org.apache.log4j.ConsoleAppender更改配置