Spring boot 使用logback AOP实现HTTP请求日志入MongoDB

本文介绍了如何在Spring Boot应用中利用logback和AOP记录HTTP请求日志并存储到MongoDB。首先,详细讲述了MongoDB的安装、远程访问配置及权限设置。接着,讨论了logback的MongoDB配置,包括在pom.xml中引入驱动和自定义MongoAppender。最后,探讨了AOP的基本概念和在Spring中的应用,展示了如何定义切入点和实现日志记录的切面。
摘要由CSDN通过智能技术生成

Spring boot 使用logback AOP实现HTTP请求日志入MongoDB


MongoDB安装与远程访问

参考链接–[在ubuntu上安装mongodb]

  1. 安装MongoDB

    1.1 为软件包管理系统导入公钥


    Ubuntu 软件包管理工具为了保证软件包的一致性和可靠性需要用 GPG 密钥检验软件包。使用下列命令导入 MongoDB 的 GPG 密钥 ( MongoDB public GPG Key http://docs.mongodb.org/10gen-gpg-key.asc)_:

    `sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927`
    

    1.2 为MongoDB创建列表文件


    使用下列命令创建 /etc/apt/sources.list.d/mongodb.list 列表文件

    Unbuntu 12.xx

    echo "deb http://repo.mongodb.org/apt/ubuntu precise/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list

    Unbuntu 14.xx

    echo "deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list
    1.3 重载软件包数据库


    使用如下命名重载本地软件包数据库
    sudo apt-get update
    1.4 安装MOngoDB软件包
    安装MongoDB最新的稳定版本–(这个过程有点漫长)
    sudo apt-get install -y mongodb-org

    至此MongoDB就安装好了

    MongoDB默认的数据文件和日志文件分别存储在下面的位置 :
    数据文件:/var/lib/mongodb
    日志文件:/var/log/mongodb
    你可以修改/etc/mongod.conf 文件来改变相应的存储位置。
    1.5 检查MongoDB是否成功启动


    通过检查 /var/log/mongodb/mongod.log 文件来确定 mongod 进程是否已经成功启动。
    或者查看进程

        ps -ef | grep mongod
    
  2. MongoDB权限设置


    参考链接–[MongoDB 用户和身份验证]

    • 数据库是由超级用户来创建的,一个数据库可以包含多个用户,一个用户只能在一个数据库下,不同数据库中的用户可以同名
    • 如果在 admin 数据库中不存在用户,即使 mongod 启动时添加了 –auth 参数,此时不进行任何认证还是可以做任何操作
    • 在 admin 数据库创建的用户具有超级权限,可以对 MongoDB 系统内的任何数据库的数据对象进行操作
    • 特定数据库比如 test1 下的用户 test_user1,不能够访问其他数据库 test2,但是可以访问本数据库下其他用户创建的数据
    • 不同数据库中同名的用户不能够登录其他数据库。比如数据库 test1 和 test2 都有用户 test_user,以 test_user 登录 test1 后,不能够登录到 test2 进行数据库操作

    查看 admin 数据库中的用户信息,因为是刚建立的数据库所以 user 为空

    use admin

    switched to db admin

    db.system.users.find(); # 默认 admin 数据库中不存在用户

    创建超级权限用户

db.createUser(
  {
    user: "Admin",
    pwd: "admin",
    roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
  }
)
创建某数据库的普通用户
db.createUser(
  {
    user: "user",
    pwd: "user",
    roles: [ { role: "readWrite", db: "dazhiLogs" }]
  }s
)
  1. 运行MongoDB

    安装好MongoDB之后,默认是开启的,但是不可以远程访问,通过如下操作使它可以远程访问

    3.1 修改绑定ip

    vi /etc/mongod.conf

    注释掉

    #bindIp: 127.0.0.1
    3.2:重启MongoDB

    以开启认证方式启动MongoDB

/usr/bin/mongod --config /etc/mongod.conf --auth &

3.3:开启端口

`iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 27017 -j ACCEPT `



好啦 到了这里 关于Mongo的准备工作就足够了

logback配置MongoDB

在logback.xml文件中配置日志输入MongoDB

在pom.xml中引入mongodb驱动

        <dependency>
            <groupId>org.mongodb</groupId>
            <artifactId>mongodb-driver</artifactId>
            <version>3.4.2</version>
        </dependency>

        <depe
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值