Spring Boot+log4j2+yml配置(2)MongoDB引入
来源:互联网 发布:java自增id生成策略 编辑:程序博客网 时间:2024/05/16 08:37
通过引入MongoDB可以解决分布式不同服务的日志收集
安装MongoDB
关于MongoDB可以参考:http://blog.csdn.net/fangxiaoji/article/details/51175866
安装后输入:./mongo 测试出现下面的提示就正面安装成功
[root@localhost bin]# ./mongo MongoDB shell version v3.4.9connecting to: mongodb://127.0.0.1:27017MongoDB server version: 3.4.9
项目
POM配置引入mongodb依赖
<dependency> <groupId>org.mongodb</groupId> <artifactId>mongodb-driver</artifactId> <version>3.2.2</version> </dependency>
application.yml添加配置
data: mongodb: database: test host: 192.168.1.106 port: 27017
在log4j2的Appenders中添加mongodb的支持,Apache的log4j2手册可以找到配置的属性,手册:http://logging.apache.org/log4j/2.x/manual/appenders.html#NoSQLAppender,对应的yml配置如下
NoSQL : name : databaseAppender MongoDb : databaseName : test collectionName : mongoTest server : 192.168.1.106 port: 27017
运行系统,如果使用idea可以安装Mongo Plugin进行查看
插件:
配置mongodb服务器
查询到结果
在途中可能会遇到问题
第一个就是时间问题,MongoDB中时间的记录总比现在的时间慢8小时,是因为MongoDB数据库保存的时间是ISODate类型,所以会比我们现在的时间慢8小时
第二个在启动服务的时候直接抛出异常
2017-09-23 22:18:25,996 main ERROR Error processing element NoSQL: CLASS_NOT_FOUND2017-09-23 22:18:26,002 main ERROR Unable to locate plugin type for NoSQL2017-09-23 22:18:26,193 main ERROR Unable to locate plugin for MongoDb2017-09-23 22:18:26,194 main ERROR Unable to locate plugin for NoSQL2017-09-23 22:18:26,194 main ERROR Unable to invoke factory method in class class org.apache.logging.log4j.core.config.AppendersPlugin for element Appenders. java.lang.NullPointerExceptionat org.apache.logging.log4j.core.config.plugins.visitors.PluginElementVisitor.visit(PluginElementVisitor.java:52)at org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.generateParameters(PluginBuilder.java:243)at org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.build(PluginBuilder.java:131)at org.apache.logging.log4j.core.config.AbstractConfiguration.createPluginObject(AbstractConfiguration.java:942)at org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:882)at org.apache.logging.log4j.core.config.AbstractConfiguration.doConfigure(AbstractConfiguration.java:498)at org.apache.logging.log4j.core.config.AbstractConfiguration.initialize(AbstractConfiguration.java:227)at org.apache.logging.log4j.core.config.AbstractConfiguration.start(AbstractConfiguration.java:239)at org.apache.logging.log4j.core.LoggerContext.setConfiguration(LoggerContext.java:530)at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:603)at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:620)at org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:226)at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:152)at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:45)at org.apache.logging.log4j.LogManager.getContext(LogManager.java:194)at org.apache.logging.log4j.spi.AbstractLoggerAdapter.getContext(AbstractLoggerAdapter.java:103)at org.apache.logging.slf4j.Log4jLoggerFactory.getContext(Log4jLoggerFactory.java:43)at org.apache.logging.log4j.spi.AbstractLoggerAdapter.getLogger(AbstractLoggerAdapter.java:42)at org.apache.logging.slf4j.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:29)at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:358)at org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:155)at org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:132)at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:273)at org.springframework.boot.SpringApplication.<clinit>(SpringApplication.java:179)at app.BootApplication.main(BootApplication.java:16)2017-09-23 22:18:26,249 main ERROR Unable to locate appender "CONSOLE" for logger config "root"2017-09-23 22:18:26,250 main ERROR Unable to locate appender "CONSOLE" for logger config "app.com.kenho.mapper"2017-09-23 22:18:26,250 main ERROR Unable to locate appender "databaseAppender" for logger config "app.com.kenho.mapper"2017-09-23 22:18:27,567 main ERROR Error processing element NoSQL: CLASS_NOT_FOUND2017-09-23 22:18:27,568 main ERROR Unable to locate plugin type for NoSQL2017-09-23 22:18:27,575 main ERROR Unable to locate plugin for MongoDb2017-09-23 22:18:27,575 main ERROR Unable to locate plugin for NoSQL2017-09-23 22:18:27,575 main ERROR Unable to invoke factory method in class class org.apache.logging.log4j.core.config.AppendersPlugin for element Appenders. java.lang.NullPointerExceptionat org.apache.logging.log4j.core.config.plugins.visitors.PluginElementVisitor.visit(PluginElementVisitor.java:52)at org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.generateParameters(PluginBuilder.java:243)at org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.build(PluginBuilder.java:131)at org.apache.logging.log4j.core.config.AbstractConfiguration.createPluginObject(AbstractConfiguration.java:942)at org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:882)at org.apache.logging.log4j.core.config.AbstractConfiguration.doConfigure(AbstractConfiguration.java:498)at org.apache.logging.log4j.core.config.AbstractConfiguration.initialize(AbstractConfiguration.java:227)at org.apache.logging.log4j.core.config.AbstractConfiguration.start(AbstractConfiguration.java:239)at org.apache.logging.log4j.core.LoggerContext.setConfiguration(LoggerContext.java:530)at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:603)at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:620)at org.springframework.boot.logging.log4j2.Log4J2LoggingSystem.reinitialize(Log4J2LoggingSystem.java:194)at org.springframework.boot.logging.AbstractLoggingSystem.initializeWithConventions(AbstractLoggingSystem.java:74)at org.springframework.boot.logging.AbstractLoggingSystem.initialize(AbstractLoggingSystem.java:59)at org.springframework.boot.logging.log4j2.Log4J2LoggingSystem.initialize(Log4J2LoggingSystem.java:148)at org.springframework.boot.logging.LoggingApplicationListener.initializeSystem(LoggingApplicationListener.java:303)at org.springframework.boot.logging.LoggingApplicationListener.initialize(LoggingApplicationListener.java:276)at org.springframework.boot.logging.LoggingApplicationListener.onApplicationEnvironmentPreparedEvent(LoggingApplicationListener.java:239)at org.springframework.boot.logging.LoggingApplicationListener.onApplicationEvent(LoggingApplicationListener.java:212)at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:167)at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:139)at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:122)at org.springframework.boot.context.event.EventPublishingRunListener.environmentPrepared(EventPublishingRunListener.java:74)at org.springframework.boot.SpringApplicationRunListeners.environmentPrepared(SpringApplicationRunListeners.java:54)at org.springframework.boot.SpringApplication.prepareEnvironment(SpringApplication.java:325)at org.springframework.boot.SpringApplication.run(SpringApplication.java:296)at org.springframework.boot.SpringApplication.run(SpringApplication.java:1118)at org.springframework.boot.SpringApplication.run(SpringApplication.java:1107)at app.BootApplication.main(BootApplication.java:16)2017-09-23 22:18:27,578 main ERROR Unable to locate appender "CONSOLE" for logger config "root"2017-09-23 22:18:27,578 main ERROR Unable to locate appender "CONSOLE" for logger config "app.com.kenho.mapper"2017-09-23 22:18:27,579 main ERROR Unable to locate appender "databaseAppender" for logger config "app.com.kenho.mapper"
这个问题换做pro配置文件会抛出另外一个类似的的异常,后来通过查找Apache的问题跟踪系统找到了问题的起因是在log4j2的一个改变,使得在log4j2使用时候还比需要引用别的依赖
<dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-nosql</artifactId> <version>2.9.0</version> </dependency>
Git:https://github.com/tale2009/springbbot_log4j2_mongodb
阅读全文
0 0
- Spring Boot+log4j2+yml配置(2)MongoDB引入
- Spring Boot+log4j2+yml配置
- spring boot log4j2配置(使用log4j2.yml文件)
- spring boot log4j2配置(使用log4j2.yml文件)
- spring boot + log4j2 配置
- spring boot 配置 log4j2
- Spring Boot Log4j2配置
- spring boot + log4j2 配置
- spring boot 配置文件(application.yml)中的属性值配置
- spring-boot配置(一):@Configuration,@ConfigurationProperties和application.yml
- spring boot读取yml配置内容
- Mybatis+spring boot +yml配置,告别XML
- Spring Boot 日志配置 logback和log4j2
- spring boot 日志配置-logback和log4j2
- Spring Boot : logback和log4j2配置(五)
- spring-boot mongodb配置
- spring boot整合log4j2输出日志到mongodb
- Spring boot 学习笔记(1)——hello world创建,属性application.properties、 yml配置
- javaScript屏蔽鼠标右键,F12及其它审查元素功能
- kmp
- C语言中的左移注意
- Java作业-双色球彩票
- 【Bootstrap框架】——JS插件(JS plug-in)
- Spring Boot+log4j2+yml配置(2)MongoDB引入
- 单链表面试题——基础篇
- java并发编程的艺术(四)-----线程池
- hihocoder #1586 : Minimum(线段树)
- JDBC Oracle事务隔离(并发控制)
- Python学习笔记:语法基础3
- Django--1--基本操作&一个实例
- 51nod 1095 Anigram单词(map)
- HDU1754