当前位置: 代码迷 >> 综合 >> log4j 动态加载NoSqlAppender
  详细解决方案

log4j 动态加载NoSqlAppender

热度:11   发布时间:2024-02-05 02:34:41.0
private static Logger logger = LogManager.getLogger("utils.LogUtils");public static void open(){//参数按照顺序,数据库名,表名,工厂类,工厂方法NoSqlProvider provider = MongoDbProvider.newBuilder().setDatabaseName(Consts.DEFAULT_DB_NAME).setCollectionName("log").setFactoryClassName("utils.db.MongoManager").setFactoryMethodName("getMongoClient").build();Appender appender = NoSqlAppender.createAppender("mongo","false",null,"10",provider);final LoggerContext ctx = (LoggerContext)LogManager.getContext(false);final Configuration config = ctx.getConfiguration();appender.start();config.addAppender(appender);config.getLoggerConfig("utils.LogUtils").addAppender(appender, Level.INFO,null);ctx.updateLoggers(config);}

log4j2.xml

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="error"><Appenders><Console name="Console" target="SYSTEM_OUT"><PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/></Console></Appenders><Loggers><Logger name="utils.LogUtils" level="info"><AppenderRef ref="Console"/></Logger><Root level="info"></Root></Loggers>
</Configuration>

 

  相关解决方案