MongoDB整合Spring Boot 的logback
来源:互联网 发布:二维码美化软件是什么 编辑:程序博客网 时间:2024/05/29 16:58
1、pom.xml
<dependency> <groupId>org.mongodb</groupId> <artifactId>mongo-java-driver</artifactId> <version>3.4.2</version> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-core</artifactId> <version>1.1.11</version> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>1.1.11</version> </dependency>
2、logback.xml
<appender name="MONGODB" class="com.lovnx.common.log.appender.MongoDBAppender"> <DbHost>168.1.1.200</DbHost> <DbPort>27017</DbPort> <DbName>system_log</DbName> <DbCollectionName>log</DbCollectionName> </appender> <logger name="MONGODB" level="INFO"> <appender-ref ref="MONGODB"/> </logger>
3、appender
package com.lovnx.common.log.appender;import org.bson.Document;import com.mongodb.MongoClient;import com.mongodb.client.MongoCollection;import com.mongodb.client.MongoDatabase;import ch.qos.logback.classic.spi.LoggingEvent;import ch.qos.logback.core.AppenderBase;import ch.qos.logback.core.status.ErrorStatus;public class MongoDBAppender extends AppenderBase<LoggingEvent> { private MongoClient _mongo; private MongoCollection<Document> _collection; private String _dbHost = "168.1.1.200"; private int _dbPort = 27017; private String _dbName = "logging"; private String _dbCollectionName = "logging"; @Override public void start() { try { _mongo = new MongoClient(_dbHost, _dbPort); MongoDatabase db = _mongo.getDatabase(_dbName); _collection = db.getCollection(_dbCollectionName); } catch (Exception e) { addStatus(new ErrorStatus("Failed to initialize MondoDB", this, e)); return; } super.start(); } public void setDbHost(String dbHost) { _dbHost = dbHost; } public void setDbName(String dbName) { _dbName = dbName; } public void setDbCollectionName(String dbCollectionName) { _dbCollectionName = dbCollectionName; } public void setDbPort(int dbPort) { _dbPort = dbPort; } @Override public void stop() { _mongo.close(); super.stop(); } @Override protected void append(LoggingEvent event) { try{ Document document = getDocument(event.getFormattedMessage()); if(document != null){ _collection.insertOne(document); } }catch (Exception e) { addStatus(new ErrorStatus("日志写入到MongDB出错", this, e)); } }//这里指定只有json格式的日志才能输入到mongo private Document getDocument(String json) { try{ return Document.parse(json); }catch (Exception e) { return null; } }}
4、调用
//两种打日志方式,会更灵活//这样是传统方式 private static final Logger LOGGER = LoggerFactory.getLogger(Result.class);//这样是输入到mongo的方式 private static final Logger mongoLog = LoggerFactory.getLogger("MONGODB");
阅读全文
0 0
- MongoDB整合Spring Boot 的logback
- MongoDB整合Spring Boot 的logback
- spring boot 整合mongodb
- spring boot 整合mongodb
- Spring Boot 整合 logback 实现日志管理
- (三) Spring Boot学习笔记之Spring Boot整合Logback
- Spring+Logback 整合的项目
- Spring boot集成logback+slf4j----logback-spring.xml的熟悉
- Spring Boot整合Morphia访问MongoDB
- spring-boot(5) 的logback 整理
- spring-boot使用logback的坑
- spring-boot使用logback的坑2
- Spring boot中logback的应用
- spring+mongodb的整合
- Spring boot-logback
- Spring Boot集成Logback
- spring boot logback
- spring-boot logback配置
- 有关数据库与界面传数据简单处理模式 ajax
- Excel 宏 文本分类
- Java多线程、并发时使用Synchronized(同步锁)解决资源竞争问题
- 线上环境安装及配置实操(git)
- float类型和16进制数据转换
- MongoDB整合Spring Boot 的logback
- 运用Construct2制作游戏 2
- Linux进阶篇--文件系统
- Kotlin入门学习总结
- csapp-lab4 cachelab
- UDT拥塞控制算法
- 触发动画插件scrollreveal.js
- 工作日记2017.11.14 response导出文件
- 假如今天你的mac升级后也崩溃了