MongoDB做日志服务器
MongoDB做日志服务器 MongoDB 做日志服务器。 www.2cto.com 写日志最常用的方式是写入纯文本文件,然后安日期分割文件,压错旧文件。 这样的日志与对懂shell,perl语言的人分析起来非常方便,对于程序员来说还是更喜欢写入数据库服务器,然后通过sql语句查询
MongoDB做日志服务器
MongoDB 做日志服务器。
www.2cto.com
写日志最常用的方式是写入纯文本文件,然后安日期分割文件,压错旧文件。
这样的日志与对懂shell,perl语言的人分析起来非常方便,对于程序员来说还是更喜欢写入数据库服务器,然后通过sql语句查询。
对于程序员来说sql语句提供了丰富查询功能,相比文本文件分析更容易。
下面就是一个简单日志表, 尽量做到通用所以只有message。
Sql代码
CREATE TABLE `logging` (
`id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
`tag` ENUM('unknow','user','bbs','cart','admin') NOT NULL DEFAULT 'unknow' COMMENT '日志标签域',
`asctime` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '产生时间',
`facility` ENUM('unknow','account','bank','unionpay','sms','email','register') NOT NULL DEFAULT 'unknow' COMMENT '类别',
`priority` ENUM('info','warning','error','critical','exception','debug') NOT NULL DEFAULT 'debug' COMMENT '级别',
`message` VARCHAR(512) NOT NULL COMMENT '内容',
`operator` VARCHAR(50) NOT NULL DEFAULT 'computer' COMMENT '操作者',
PRIMARY KEY (`id`)
)
COMMENT='日志表'
COLLATE='utf8_general_ci'
ENGINE=InnoDB;
www.2cto.com
mongodb 的message字段比起sql更灵活
Java代码
db.logging.user.save({'asctime':'2012-10-10 12:12:12','facility':'register','priority':'info','operator':'computer','message':{'name':'neo','address':{'city':'shenzhen','post':518000},'phone':[13113668890,13322993040]}})
db.logging.user.save({'asctime':'2012-10-10 12:12:12','facility':'sms','priority':'error','operator':'computer','message':'send sms: 13113668890,text: xxxxx'})
db.logging.user.find()
db.logging.admin.save({'asctime':'2012-10-10 12:12:12','facility':'account','priority':'info','operator':'computer','message':'delete account'})
db.logging.admin.save({'asctime':'2012-10-10 12:12:12','facility':'sms','priority':'info','operator':'computer','message':'send sms'})
db.logging.admin.save({'asctime':'2012-10-10 12:12:12','facility':'bank','priority':'warning','operator':'computer','message':'bank from xxxx to xxxx'})
db.logging.admin.find()
Java代码
> db.logging.user.find()
{ "_id" : ObjectId("50cc10dd3e4f5a2b92fb5f37"), "asctime" : "2012-10-10 12:12:12", "facility" : "register", "priority" : "info", "operator" : "computer", "message" : { "name" : "neo", "address" : { "city" : "shenzhen", "post" : 518000 }, "phone" : [ 13113668890, 13322993040 ] } }
{ "_id" : ObjectId("50cc11a23e4f5a2b92fb5f39"), "asctime" : "2012-10-10 12:12:12", "facility" : "sms", "priority" : "error", "operator" : "computer", "message" : "send sms: 13113668890" }
> db.logging.admin.find()
{ "_id" : ObjectId("50cc11443e4f5a2b92fb5f38"), "asctime" : "2012-10-10 12:12:12", "facility" : "account", "priority" : "info", "operator" : "computer", "message" : "delete account" }
{ "_id" : ObjectId("50cc120c3e4f5a2b92fb5f3a"), "asctime" : "2012-10-10 12:12:12", "facility" : "bank", "priority" : "warning", "operator" : "computer", "message" : "bank from xxxx to xxxx" }
>

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

本站7月23日消息,华硕推出多款由AMDEPYC霄龙4004系列处理器驱动的服务器与工作站级产品。本站注:AMD于5月推出AM5平台、Zen4架构的EPYC霄龙4004系列处理器,最高提供16核3DV-Cache规格。ASUSProER100AB6服务器ASUSProER100AB6是一款搭载EPYC霄龙4004系列处理器的1U机架式服务器产品,适用于IDC及中小型企业需求。ASUSExpertCenterProET500AB6工作站ASUSExpertCenterProET500AB6是一款A

日志记录优化技巧:禁用调试日志以消除影响。批量处理日志消息以减少开销。采用异步日志记录以卸载日志操作。限制日志文件大小以提高应用程序启动和处理性能。

.NET 4.0 用于创建各种应用程序,它为应用程序开发人员提供了丰富的功能,包括:面向对象编程、灵活性、强大的架构、云计算集成、性能优化、广泛的库、安全性、可扩展性、数据访问和移动开发支持。

本文介绍如何在Debian系统上构建高可用性的MongoDB数据库。我们将探讨多种方法,确保数据安全和服务持续运行。关键策略:副本集(ReplicaSet):利用副本集实现数据冗余和自动故障转移。当主节点出现故障时,副本集会自动选举新的主节点,保证服务的持续可用性。数据备份与恢复:定期使用mongodump命令进行数据库备份,并制定有效的恢复策略,以应对数据丢失风险。监控与报警:部署监控工具(如Prometheus、Grafana)实时监控MongoDB的运行状态,并

本文介绍如何在Debian系统上配置MongoDB实现自动扩容,主要步骤包括MongoDB副本集的设置和磁盘空间监控。一、MongoDB安装首先,确保已在Debian系统上安装MongoDB。使用以下命令安装:sudoaptupdatesudoaptinstall-ymongodb-org二、配置MongoDB副本集MongoDB副本集确保高可用性和数据冗余,是实现自动扩容的基础。启动MongoDB服务:sudosystemctlstartmongodsudosys

Java框架通过以下方式支持微服务架构中的监控和日志:监控支持:提供内置监控端点,如SpringBootActuator,以收集应用程序状态和性能指标。日志记录集成:与Log4j、Logback等第三方日志记录库集成,提供丰富的日志记录功能。实战案例:集成ElasticsearchStack可与ElasticsearchStack集成,提供高级监控和日志记录功能,如集中式存储和分析。

PiNetwork即将推出革命性移动银行平台PiBank!PiNetwork今日发布重大更新Elmahrosa(Face)PIMISRBank,简称PiBank,它将传统银行服务与PiNetwork加密货币功能完美融合,实现法币与加密货币的原子交换(支持美元、欧元、印尼盾等法币与PiCoin、USDT、USDC等加密货币的互换)。究竟PiBank有何魅力?让我们一探究竟!PiBank主要功能:一站式管理银行账户和加密货币资产。支持实时交易,并采用生物特

PHP框架中日志记录和监控的最佳实践:日志记录:选择PSR-3兼容的日志库,定义日志级别,配置日志处理器,使用上下文信息。监控:集成APM工具,设置指标和警报,启用追踪,收集错误和异常。最佳实践:自动化日志记录和监控,使用一致的命名约定,适当调整日志级别,定期审查日志。
