日志檔案為了友善統計是以就存放在了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>
<appender name="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>
<root level="ALL">
<appender-ref ref="DB" />
</root>
</configuration>
現在開始寫java測試檔案喽
package com.log;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class MainDemo {
final static Logger logger = LoggerFactory.getLogger(MainDemo.class.getName());
public static void main(String[] args) {
logger.debug("aaaaaa");
logger.info("aaaaaa");
}
這裡隻輸出了debug和info
然後把下面的sql在mysql裡執行
DROP TABLE IF EXISTS `logging_event`;
CREATE TABLE `logging_event` (
`timestmp` LONG NOT NULL,
`formatted_message` TEXT NOT NULL,
`logger_name` VARCHAR(255) NOT NULL,
`level_string` VARCHAR(255) NOT NULL,
`thread_name` VARCHAR(255) NOT NULL,
`reference_flag` SMALLINT NOT NULL,
`caller_filename` VARCHAR(255) NOT NULL,
`arg0` VARCHAR(255),
`arg1` VARCHAR(255),
`arg2` VARCHAR(255),
`arg3` VARCHAR(255),
`caller_class` VARCHAR(255) NOT NULL,
`caller_method` VARCHAR(255) NOT NULL,
`caller_line` VARCHAR(255) NOT NULL,
`event_id` INT NOT NULL AUTO_INCREMENT,
PRIMARY KEY (event_id)
) ENGINE=InnoDB DEFAULT CHARSET=UTF8;
DROP TABLE IF EXISTS `logging_event_property`;
CREATE TABLE `logging_event_property` (
`event_id` INT NOT NULL,
`mapped_key` VARCHAR(255) NOT NULL,
`mapped_value` TEXT NOT NULL
DROP TABLE IF EXISTS `logging_event_exception`;
CREATE TABLE `logging_event_exception` (
`i` SMALLINT NOT NULL,
`trace_line` VARCHAR(255) NOT NULL
運作java檔案就ok了