如何使用java代码编写logback配置
程序员文章站
2022-05-02 13:26:49
...
给别人提供一个jar包,可以直接打印日志,将日志采集到固定位置,现在大多数的情况都是使用的logback.xml文件,如果还用这个文件可能会造成冲突(当然可以用其他名字),为了避免还得加载文件,直接用Java编写配置,如下:
public class SecurityLoggerFactory { private static final String logPath = "/export/Logs/securityLog/securityLog.log"; private static final String logPathHistory = "/export/Logs/securityLog/securityLog.log.%d"; private static Logger logger = null; public static Logger getLogger(){ return logger; } /** * 构造Logger * 设置路径 * 设置滚动方式 */ static { LoggerContext loggerContext = (LoggerContext) LoggerFactory.getILoggerFactory(); //loggerContext.reset(); RollingFileAppender<ILoggingEvent> rollingFileAppender = new RollingFileAppender<ILoggingEvent>(); rollingFileAppender.setContext(loggerContext); rollingFileAppender.setAppend(true); rollingFileAppender.setName("jdSecurityLogAppender"); rollingFileAppender.setFile(logPath); TimeBasedRollingPolicy rollingPolicy = new TimeBasedRollingPolicy<>(); rollingPolicy.setFileNamePattern(logPathHistory); rollingPolicy.setMaxHistory(10); rollingPolicy.setContext(loggerContext); rollingPolicy.setParent(rollingFileAppender); rollingPolicy.start(); rollingFileAppender.setRollingPolicy(rollingPolicy); PatternLayoutEncoder encoder = new PatternLayoutEncoder(); encoder.setPattern("%msg%n"); encoder.setCharset(Charset.forName("UTF-8")); encoder.setContext(loggerContext); encoder.start(); rollingFileAppender.setEncoder(encoder); rollingFileAppender.start(); ch.qos.logback.classic.Logger rootLogger = loggerContext.getLogger("securityLogLogger"); rootLogger.setLevel(Level.INFO); rootLogger.addAppender(rollingFileAppender); logger = rootLogger; } public static void main(String[] args) { SecurityLoggerFactory.getLogger().info("this is text log."); } }
客户端直接调用SecurityLoggerFactory.getLogger().info()就能打印相关的日志了。而日志除了在控制台输出,还会输出到指定文件。
注意:
文件路径是Linux路径,如果在Windows执行并不能生成文件,得用Windows路径,如:c:/securitylog/securitylog.log
以上就是如何使用java代码编写logback配置的详细内容,更多请关注其它相关文章!
下一篇: JS加载器如何动态加载外部js文件
推荐阅读
-
使用VSCode编写jsx代码时如何实现标签自动补齐
-
java 使用memcached以及spring 配置memcached完整实例代码
-
如何使用editplus快速编写并执行nodejs代码?
-
java 使用memcached以及spring 配置memcached完整实例代码
-
springboot如何使用logback-spring配置日志格式,并分环境配置
-
[JAVA]使用if…else语句编写代码。定义一个整型变量a,为其赋值为20,判断20是奇数还是偶数,如果为奇数,输出“a是奇数”,否则输出“a是偶数”
-
Springboot如何使用logback实现多环境配置?
-
如何使用editplus快速编写并执行nodejs代码?
-
如何使用Java简单实现一个代码行数统计器
-
Logback的使用及如何配置