Commit 584e65a3f29e682f3735e1f23698de3ff99de6ab

Authored by jiangjiazhi

Merge remote-tracking branch 'origin/master'

Showing 2 changed files

platform-common/src/main/java/com/lyms/platform/common/log4j/DailyRollingFileAppender.java View file @ 584e65a
  1 +package com.lyms.platform.common.log4j;
  2 +
  3 +import org.apache.log4j.Layout;
  4 +import org.apache.log4j.helpers.QuietWriter;
  5 +
  6 +import java.io.File;
  7 +import java.io.IOException;
  8 +
  9 +/**
  10 + *
  11 + * 解决log4j BufferedIO=true 时,buffer有残余日志不能记录的问题
  12 + *
  13 + * Created by jiangjiazhi on 2017/5/22.
  14 + */
  15 +public class DailyRollingFileAppender extends
  16 + org.apache.log4j.DailyRollingFileAppender {
  17 +
  18 + public DailyRollingFileAppender() {
  19 + super();
  20 + Runtime.getRuntime().addShutdownHook(new Log4jHockThread());
  21 + }
  22 +
  23 + public DailyRollingFileAppender(Layout layout, String filename,
  24 + String datePattern) throws IOException {
  25 + super(layout, filename, datePattern);
  26 + Runtime.getRuntime().addShutdownHook(new Log4jHockThread());
  27 + }
  28 +
  29 + @Override
  30 + public synchronized void setFile(String fileName, boolean append,
  31 + boolean bufferedIO, int bufferSize) throws IOException {
  32 + File logfile = new File(fileName);
  33 +
  34 + logfile.getParentFile().mkdirs();
  35 +
  36 + super.setFile(fileName, append, bufferedIO, bufferSize);
  37 + }
  38 +
  39 + public QuietWriter getQw() {
  40 + return super.qw;
  41 + }
  42 +
  43 + private class Log4jHockThread extends Thread {
  44 + @Override
  45 + public void run() {
  46 + QuietWriter qw = DailyRollingFileAppender.this.getQw();
  47 + if (qw != null) {
  48 + qw.flush();
  49 + }
  50 + }
  51 + }
  52 + }
platform-operate-api/src/main/resources/log4j_config.xml View file @ 584e65a
... ... @@ -23,7 +23,7 @@
23 23 <param name="ConversionPattern" value="%d %p - %m%n" />
24 24 </layout>
25 25 </appender>
26   - <appender name="HTTP-INVOKE-Info" class="org.apache.log4j.DailyRollingFileAppender">
  26 + <appender name="HTTP-INVOKE-Info" class="com.lyms.platform.common.log4j.DailyRollingFileAppender">
27 27 <param name="Append" value="true" />
28 28 <param name="File" value="${catalina.base}/logs/http-invoke.log" />
29 29 <param name="bufferedIO" value="true" />
... ... @@ -67,7 +67,7 @@
67 67 </layout>
68 68 </appender>
69 69  
70   - <appender name="DAL-MONITOR" class="org.apache.log4j.DailyRollingFileAppender">
  70 + <appender name="DAL-MONITOR" class="com.lyms.platform.common.log4j.DailyRollingFileAppender">
71 71 <param name="Append" value="true" />
72 72 <param name="File" value="${catalina.base}/logs/dal-perf.log" />
73 73 <param name="bufferedIO" value="true" />
... ... @@ -78,7 +78,7 @@
78 78 </layout>
79 79 </appender>
80 80  
81   - <appender name="SYNC_DATA" class="org.apache.log4j.RollingFileAppender">
  81 + <appender name="SYNC_DATA" class="com.lyms.platform.common.log4j.DailyRollingFileAppender">
82 82 <param name="Append" value="true" />
83 83 <param name="File" value="${catalina.base}/logs/sync-data.log" />
84 84 <param name="maxBackupIndex" value="3"/>