windows下日志存储到mongodb下

需求:系统做分布式,各个模块的日志写文件,对于运维来说找起日志来不方便,统一写到mongodb中,error级别的日志单独存储。

我的环境是win7 64位系统

第一步:

下载mongdb,下载地址: https://www.mongodb.org/dl/win32/x86_64-2008plus-ssl  ,我下载的是:win32/mongodb-win32-x86_64-2008plus-ssl-v3.0-latest.zip,下载后解压到d盘根目录下,路径为:D:\mongodb

启动,进入cmd,输入D:\mongodb\bin>mongod -dbpath=D:\mongodb\db

第二步:

下载rockmongo,下载地址:http://rockmongo.com/downloads,下载后解压到d盘根目录下,路径为D:\rockmongo-on-windows,修改配置文件D:\rockmongo-on-windows\web\rockmongo\config.php:

$MONGO["servers"][$i]["mongo_db"] = "logdb";//default mongo db to connect, works only if mongo_auth=false
$MONGO["servers"][$i]["mongo_user"] = "admin";//mongo authentication user name, works only if mongo_auth=false
$MONGO["servers"][$i]["mongo_pass"] = "admin";//mongo authentication password, works only if mongo_auth=false
mongo_db,填写你的db名
mongo_user,定义的账号
mongo_pass,定义的密码

启动,双击D:\rockmongo-on-windows\rockstart.bat,会在浏览器中弹出登录框,输入账号和密码即可,可以不用选择db名称,进入mongodb管理界面

第三步:

建立maven工程,添加依赖:

<!-- log4j mongo -->
		<dependency>
			<groupId>log4j</groupId>
			<artifactId>log4j</artifactId>
			<version>1.2.16</version>
		</dependency>
		<dependency>
			<groupId>org.mongodb</groupId>
			<artifactId>mongo-java-driver</artifactId>
			<version>2.7.2</version>
		</dependency>
		<dependency>
			<groupId>org.log4mongo</groupId>
			<artifactId>log4mongo-java</artifactId>
			<version>0.7.4</version>
		</dependency>
		<!-- log4j mongo -->

在resources下建立log4j.properties:

log4j.rootCategory=INFO,MongoDBError,MongoDBInfo

#---------------------------------------
# log4Mongo info
#---------------------------------------
log4j.logger.MongoDBInfo=INFO
log4j.appender.MongoDBInfo=org.log4mongo.MongoDbAppender
log4j.appender.MongoDBInfo.Threshold=INFO
#log4j.appender.MongoDBWarn=org.log4mongo.MongoDbPatternLayoutAppender
log4j.appender.MongoDBInfo.hostname=192.168.1.197
log4j.appender.MongoDBInfo.port=27017
log4j.appender.MongoDBInfo.databaseName=logdb
log4j.appender.MongoDBInfo.collectionName=infolog
# The layout property is required only if the MongoDbPatternLayoutAppender appender is used.
# If a custom PatternParser and custom PatternConverters are required to log additional data,
# the specified layout class must extend MongoDbPatternLayout. A ConversionPattern property
# should also be specified.
log4j.appender.MongoDBInfo.layout=org.log4mongo.MongoDbPatternLayout

#---------------------------------------
# log4Mongo error
#---------------------------------------
log4j.logger.MongoDBError=ERROR
log4j.appender.MongoDBError=org.log4mongo.MongoDbAppender
log4j.appender.MongoDBError.Threshold=ERROR
#log4j.appender.MongoDBError=org.log4mongo.MongoDbPatternLayoutAppender
log4j.appender.MongoDBError.hostname=192.168.1.197
log4j.appender.MongoDBError.port=27017
log4j.appender.MongoDBError.databaseName=logdb
log4j.appender.MongoDBError.collectionName=errorlog
# The layout property is required only if the MongoDbPatternLayoutAppender appender is used.
# If a custom PatternParser and custom PatternConverters are required to log additional data,
# the specified layout class must extend MongoDbPatternLayout. A ConversionPattern property
# should also be specified.
log4j.appender.MongoDBError.layout=org.log4mongo.MongoDbPatternLayout

建立测试类:

import org.apache.log4j.Logger;

public class Log4j4Mongo {
	public static void main(String[] args) {
		Logger logger = Logger.getLogger(Log4j4Mongo.class);
		logger.info("郭德纲说相声呢....");
		logger.warn("郭德纲跟春晚领导有些矛盾....");
		logger.error("郭德纲泡了于谦的媳妇....");
	}
}

执行测试类后,会在rockmongo上看到有logdb库中有infolog和errorlog两个collection,infolog有三条记录,errorlog有一条记录

参照:http://www.educity.cn/wenda/365222.html

时间: 2024-10-11 01:01:27

windows下日志存储到mongodb下的相关文章

nginx的log日志存储到mongodb做视频点击排行榜

#!/bin/bash # This script run at 00:00 # The Nginx logs path # zhengyansheng time:2014-08-27 # Qq 467754239 logs_path="/usr/local/nginx/logs/" access_dir="/usr/local/nginx/logs/Insert_mongodb" mkdir -p ${logs_path}$(date -d "yeste

Windows下安装并启动mongodb

一.Windows下mongodb的安装 MongoDB 提供了可用于 32 位和 64 位系统的预编译二进制包,你可以从MongoDB官网下载安装,MongoDB 预编译二进制包下载地址:https://www.mongodb.com/download-center#community 注意:在 MongoDB 2.2 版本后已经不再支持 Windows XP 系统.最新版本也已经没有了 32 位系统的安装文件. MongoDB for Windows 64-bit 适合 64 位的 Wind

Windows下图文详解Mongodb安装及配置

这两天接触了MongoDB数据库,发现和mysql数据库还是有很大差别的,同时使用前的配置看起来有些繁杂,踩过不少坑,其实只要一步一步搞清了,并不难. 接下来,我就整理下整个安装及配置过程. 安装的Mongodb版本: mongodb-win32-x86_64-2008plus-ssl-3.4.10-signed.msi 电脑信息:win10  64位 一.安装 安装其实很简单,一路next,选择custom,不然无法继续 我是默认的安装位置:C:\Program Files\MongoDB,你

LC3视角:Kubernetes下日志采集、存储与处理技术实践

摘要: 在Kubernetes服务化.日志处理实时化以及日志集中式存储趋势下,Kubernetes日志处理上也遇到的新挑战,包括:容器动态采集.大流量性能瓶颈.日志路由管理等问题.本文介绍了"Logtail + 日志服务 + 生态"架构,介绍了:Logtail客户端在Kubernetes日志采集场景下的优势:日志服务作为基础设施一站式解决实时读写.HTAP两大日志强需求:日志服务数据的开放性以及与云产品.开源社区相结合,在实时计算.可视化.采集上为用户提供的丰富选择. Kubernet

Windows 下安装和配置 MongoDB(二)

因为电脑重新安装了系统,所以要重新安装开发环境,按照之前写过的一篇博客介绍的步骤进行安装,发现报了一些错误,下面是遇到的问题和解决方法: 首先下载安装就不多说了,下载地址:https://www.mongodb.com/download-center#community 下载后解压到 D 盘或 E 盘.然后添加环境变量(最后的 PATH 就是解压后的 mongodb 下 bin 目录的地址) 然后创建数据库 data 目录,之前说的直接在 cmd 输入 mongod --dbpath D:\Mo

win10下安装、运行MongoDB

一.下载MongoDB (以3.6.15版本为例) 下载地址:https://www.mongodb.com/download-center/community 二.安装 安装过程中,你可以通过点击 "Custom(自定义)" 按钮来设置你的安装目录. 这时我将安装目录改为了D:\MongoDB 下一步安装 "install mongoDB compass" 不勾选(当然你也可以选择安装它,可能需要更久的安装时间),MongoDB Compass 是一个图形界面管理

CentOS7系统下YUM安装安装Mongodb 3.4

CentOS7系统下YUM安装安装Mongodb 3.4 第一步 查看是否存在Mongodb配置yum源 切换到yum目录 cd /etc/yum.repos.d/ 查看文件 ls 第二部 不存在添加yum 源 创建文件 touch mongodb-3.4.repo 编辑该文件 vi mongodb-3.4.repo 内容 : cat /etc/yum.repos.d/mongodb-3.4.repos [mongodb-org-3.4] name=MongoDB Repository base

.NET下日志系统的搭建——log4net+kafka+elk

原文:.NET下日志系统的搭建——log4net+kafka+elk .NET下日志系统的搭建——log4net+kafka+elk# 前言# 我们公司的程序日志之前都是采用log4net记录文件日志的方式(有关log4net的简单使用可以看我另一篇博客),但是随着后来我们团队越来越大,项目也越来越大,我们的用户量也越来越多.慢慢系统就暴露了很多问题,这个时候我们的日志系统已经不能满足我们的要求.其主要有下面几个问题: 随着我们访问量的增加,我们的日志文件急剧增加 多且乱的文件日志,难以让我们对

MongoDB下配置用户权限

MongoDB默认设置为无权限访问限制 注:研究成果基于Windows平台 在部署mongodb成功后,进入控制台: 输入命令:mongod  use admin,你会发现该DB下包含了一个system.user表,呵呵,没错,这个表就等同于MsSql中的用户表,用来存放超级管理员的,那我们就往它里面添加一个超级管理员试试看 里我添加一个超级管理员用户,username为admin,password也为admin,即然我们添加了超级管理员,那咱们就来测试下,看看咱们再次连接MongoDB需不需要