当前位置: 首页 > news >正文

第三百零八节 Log4j教程 - Log4j日志到数据库

Log4j教程 - Log4j日志到数据库

我们可以使用log4j API通过使用org.apache.log4j.jdbc.JDBCAppender对象将信息记录到数据库中。

下表列出了JDBCAppender的配置属性。

属性描述
bufferSize设置缓冲区大小。默认大小为1。
driverJDBC驱动程序类。默认为sun.jdbc.odbc.JdbcOdbcDriver。
layout设置布局。默认是org.apache.log4j.PatternLayout。
password设置数据库密码。
sql指定用于每个日志记录请求的SQL语句。
URL设置JDBC URL
user设置数据库用户名

例子

首先,创建一个表来存储日志信息。

CREATE TABLE LOGS(USER_ID VARCHAR(20) NOT NULL,DATED   DATE NOT NULL,LOGGER  VARCHAR(50) NOT NULL,LEVEL   VARCHAR(10) NOT NULL,MESSAGE VARCHAR(1000) NOT NULL);

然后,为JDBCAppender创建配置文件log4j.properties,该文件控制如何连接到数据库以及如何将日志消息存储到LOGS表。

# Define the root logger with appender file
log4j.rootLogger = DEBUG, DB# Define the DB appender
log4j.appender.DB=org.apache.log4j.jdbc.JDBCAppender# Set JDBC URL
log4j.appender.DB.URL=jdbc:mysql://localhost/Your_Database_Name# Set Database Driver
log4j.appender.DB.driver=com.mysql.jdbc.Driver# Set database user name and password
log4j.appender.DB.user=your_user_name
log4j.appender.DB.password=your_password# Set the SQL statement to be executed.
log4j.appender.DB.sql=INSERT INTO LOGS VALUES("%x","%d","%C","%p","%m")# Define the layout for file appender
log4j.appender.DB.layout=org.apache.log4j.PatternLayout

以下代码显示如何将信息记录到数据库中。

import org.apache.log4j.Logger;
import java.sql.*;
import java.io.*;
import java.util.*;public class Main{static Logger log = Logger.getLogger(Main.class.getName());public static void main(String[] args)throws IOException,SQLException{log.debug("Debug");log.info("Info");}
}


http://www.mrgr.cn/news/63952.html

相关文章:

  • 人工智能基础-opencv-图像处理篇
  • Java项目实战II基于Java+Spring Boot+MySQL的植物健康系统(开发文档+数据库+源码)
  • 3D Gaussian Splatting代码详解(一):模型训练、数据加载
  • computed拦截v-model
  • 推荐一个网上购物导航的网站
  • Ubuntu 搭建Yapi服务
  • AWS RDS MySQL内存使用
  • Caffeine 手动策略缓存 put() 方法源码解析
  • Copilot功能
  • 单例模式的五种实现方式及优缺点
  • 从0开始学统计-什么是Z-score
  • 【国产MCU系列】-GD32F4开发环境搭建(基于Embedded Builder)
  • 自动化测试工具Ranorex Studio(十九)-其他编辑选项
  • HTML 基础标签——分组标签 <div>、<span> 和基础语义容器
  • magic-api简单使用六:删除接口(支持路径传参)
  • 从实验室到生活:超分子水凝胶湿电发电机的应用之路
  • 【语义分割|代码解析】CMTFNet-2: CNN and Multiscale Transformer Fusion Network 用于遥感图像分割!
  • 学生党百元预算如何选到高性价比头戴耳机?四款百元热门耳机推荐
  • 国密SM2 非对称加解密前后端工具
  • 在 openEuler 22.03 服务器上搭建 web 服务教程
  • 100种算法【Python版】第34篇——PageRank算法
  • 构建高效信息学科平台:Spring Boot实践
  • 小区搜索和SSB简介
  • 华为机试HJ17 坐标移动
  • 基于java+SpringBoot+Vue的美容院管理系统设计与实现
  • 【华为HCIP实战课程三十】中间到中间系统协议IS-IS路由渗透及TAG标识详解,网络工程师