zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

MongoDB 做日志服务器

2023-09-14 08:59:51 时间

 

这样的日志与对懂shell,perl语言的人分析起来非常方便,对于程序员来说还是更喜欢写入数据库服务器,然后通过sql语句查询。

对于程序员来说sql语句提供了丰富查询功能,相比文本文件分析更容易。

 

下面就是一个简单日志表, 尽量做到通用所以只有message。

 

 

 

 

 


    `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;  
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()  
 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" }  
netkiller Nickname:netkiller | English name: Neo chen | QQ: 291379 | 订阅号:netkiller-ebook | 网站:http://www.netkiller.cn