Jboot输出Action日志到日志文件

正常情况下,Jboot的action日志只显示在控制台,查看JbootActionReporter源码:

image.png

原来如此。


如果需要将其同时输出到日志文件中,按如下步骤即可:

  • 创建自己的LogOutWriter;

    private static class LogOutWriter extends Writer {
        private Log LOG = Log.getLog(JbootActionReporter.class);

        @Override
        public void close() throws IOException {
        }

        @Override
        public void flush() throws IOException {
        }

        @Override
        public void write(char[] cbuf, int off, int len) throws IOException {
        }

        @Override
        public void write(String str) throws IOException {
            this.LOG.info(str);
        }
    }


  • 继承JbootAppListenerBase,自定义自己的Jboot启动类;

public class JbsaAppListener extends JbootAppListenerBase {
    private static class LogOutWriter extends Writer {
        // 上面的LogOutWriter放在此类中定义为static class就好。
    }
}

    

  • 启动类中覆盖onStartBefore()方法,设置JbootActionReporter输出日志的通道为LogOutWriter;

    @Override
    public void onStartBefore() {
        super.onStartBefore();
        JbootActionReporter.setWriter(new LogOutWriter());
    }


评论区