Logback 日志输出到 mysql

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群版 2核4GB 100GB
推荐场景:
搭建个人博客
日志服务 SLS,月写入数据量 50GB 1个月
简介: Logback 日志输出到 mysql

日志文件为了方便统计所以就存放在了mysql里,这里只是根据官方的文档做了一个demo。

依赖这几个jar:

log4j-over-slf4j-1.7.7.jar

logback-core-1.1.2.jar

slf4j-api-1.7.7.jar

logback-classic-1.1.2.jar

mysql-connector-java-5.1.33-bin.jar

src根目录放logblock.xml

<?xml version="1.0"encoding="UTF-8"?>


<configuration>

<appendername="DB"class="ch.qos.logback.classic.db.DBAppender">

<connectionSource

class="ch.qos.logback.core.db.DriverManagerConnectionSource">

<driverClass>com.mysql.jdbc.Driver</driverClass>

<url>jdbc:mysql://localhost:3306/log</url>

<user>user</user>

<password>123</password>

</connectionSource>

</appender>


<rootlevel="ALL">

<appender-refref="DB"/>

</root>

</configuration>

现在开始写java测试文件喽

packagecom.log;


importorg.slf4j.Logger;

importorg.slf4j.LoggerFactory;


publicclassMainDemo{

finalstaticLogger logger = LoggerFactory.getLogger(MainDemo.class.getName());


publicstaticvoidmain(String[] args){

logger.debug("aaaaaa");

logger.info("aaaaaa");

}


}

这里只输出了debug和info

然后把下面的sql在mysql里执行

DROPTABLEIFEXISTS`logging_event`;

CREATETABLE`logging_event`(

`timestmp`LONGNOTNULL,

`formatted_message`TEXTNOTNULL,

`logger_name`VARCHAR(255)NOTNULL,

`level_string`VARCHAR(255)NOTNULL,

`thread_name`VARCHAR(255)NOTNULL,

`reference_flag`SMALLINTNOTNULL,

`caller_filename`VARCHAR(255)NOTNULL,

`arg0`VARCHAR(255),

`arg1`VARCHAR(255),

`arg2`VARCHAR(255),

`arg3`VARCHAR(255),

`caller_class`VARCHAR(255)NOTNULL,

`caller_method`VARCHAR(255)NOTNULL,

`caller_line`VARCHAR(255)NOTNULL,

`event_id`INTNOTNULLAUTO_INCREMENT,

PRIMARYKEY(event_id)

)ENGINE=InnoDBDEFAULTCHARSET=UTF8;


DROPTABLEIFEXISTS`logging_event_property`;

CREATETABLE`logging_event_property`(

`event_id`INTNOTNULL,

`mapped_key`VARCHAR(255)NOTNULL,

`mapped_value`TEXTNOTNULL

)ENGINE=InnoDBDEFAULTCHARSET=UTF8;


DROPTABLEIFEXISTS`logging_event_exception`;

CREATETABLE`logging_event_exception`(

`event_id`INTNOTNULL,

`i`SMALLINTNOTNULL,

`trace_line`VARCHAR(255)NOTNULL

)ENGINE=InnoDBDEFAULTCHARSET=UTF8;

运行java文件就ok了

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
14天前
|
SQL 监控 关系型数据库
使用 pt-query-digest 工具分析 MySQL 慢日志
【8月更文挑战第5天】使用 pt-query-digest 工具分析 MySQL 慢日志
22 3
使用 pt-query-digest 工具分析 MySQL 慢日志
|
4天前
|
XML Java Maven
logback在springBoot项目中的使用 springboot中使用日志进行持久化保存日志信息
这篇文章详细介绍了如何在Spring Boot项目中使用logback进行日志记录,包括Maven依赖配置、logback配置文件的编写,以及实现的日志持久化和控制台输出效果。
logback在springBoot项目中的使用 springboot中使用日志进行持久化保存日志信息
|
11天前
|
SQL 关系型数据库 MySQL
MySQL 常见日志清理策略
MySQL 数据库服务器使用多种类型的日志来记录操作和事件,这对于故障诊断、审计和性能分析非常重要。然而,这些日志文件会随着时间的推移而不断增长,可能会占用大量的磁盘空间。因此,定期清理这些日志是必要的,本篇文章我们一起来学习下如何清理 MySQL 中的日志文件。
31 3
|
19天前
|
SQL 存储 监控
(十一)MySQL日志篇之undo-log、redo-log、bin-log.....傻傻分不清!
任何项目都会有日志,MySQL也不例外,而且MySQL更是其中的佼佼者,日志种类繁多,而本篇的目的就是全解MySQL中的各类日志,如撤销日志、错误日志、慢查询日志、中继日志、回滚日志.....
|
3天前
|
数据可视化 Java API
如何在项目中快速引入Logback日志并搭配ELK使用
如何在项目中快速引入Logback日志并搭配ELK使用
|
7天前
|
SQL 关系型数据库 MySQL
MySQL——如何查看MySQL登录日志
MySQL——如何查看MySQL登录日志
19 0
|
12天前
|
关系型数据库 MySQL
清理MySQL的binlog日志
清理MySQL的binlog日志
|
22天前
|
SQL 关系型数据库 MySQL
Mysql 开启慢日志查询及查看慢日志 sql
Mysql 开启慢日志查询及查看慢日志 sql
20 0
|
5天前
|
存储 关系型数据库 MySQL
MySQL——数据库备份上传到阿里云OSS存储
MySQL——数据库备份上传到阿里云OSS存储
19 0
|
5天前
|
缓存 NoSQL Redis
一天五道Java面试题----第九天(简述MySQL中索引类型对数据库的性能的影响--------->缓存雪崩、缓存穿透、缓存击穿)
这篇文章是关于Java面试中可能会遇到的五个问题,包括MySQL索引类型及其对数据库性能的影响、Redis的RDB和AOF持久化机制、Redis的过期键删除策略、Redis的单线程模型为何高效,以及缓存雪崩、缓存穿透和缓存击穿的概念及其解决方案。