MongoDB整合Spring Boot 的logback
来源:互联网 发布:plsql导入sql文件命令 编辑:程序博客网 时间:2024/06/06 19:30
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配置
- HDU 1087 Super Jumping! Jumping! Jumping! (最长上升子序列求和)【最长序列求和类模板】
- Java与JSON(二)之使用
- Python_目录切换时出现cannot_import
- SSI——服务器端嵌入
- java基础需要掌握的程度推荐
- MongoDB整合Spring Boot 的logback
- Codeforces Round #411 (Div. 2)
- [P1979]华容道
- js中 "==" 和 "==="
- 程序设计思维
- 各种数论定理
- Linux压缩解压命令详细介绍(gizp、tag、zip、bzip2)
- 添加ppa源后导致update无法下载
- 网易2017 跳石板问题