java:
package com;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class Test
{
/**
* 日志记录
*/
private Logger logger = LoggerFactory.getLogger("traceInfo");
/**
* 目录信息
*/
private Logger categoryInfo = LoggerFactory.getLogger("categoryInfo");
/**
* 目录与目录的关联关系
*/
private Logger productInfo = LoggerFactory.getLogger("productInfo");
public void print()
{
// 日志记录
if (logger.isDebugEnabled())
{
logger.debug("Entry: print().");
}
categoryInfo.info("categoryInfo");
productInfo.info("productInfo");
// 日志记录
if (logger.isDebugEnabled())
{
logger.debug("Exit: print().");
}
}
/**
* @param args
*/
public static void main(String[] args)
{
new Test().print();
}
}
config:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<property name="log.path" value="E:\\crawl\\spider\\output" />
<appender name="traceInfo" class="ch.qos.logback.core.ConsoleAppender">
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>INFO</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>[%-5level][%d{yyyy-MM-dd HH:mm:ss}][%F:%L] - %msg%n</pattern>
</encoder>
</appender>
<appender name="categoryAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>INFO</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
<file>${log.path}/category.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
<fileNamePattern>${log.path}/category_%i.log</fileNamePattern>
<minIndex>1</minIndex>
<maxIndex>13</maxIndex>
</rollingPolicy>
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<maxFileSize>4MB</maxFileSize>
</triggeringPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%msg%n</pattern>
</encoder>
</appender>
<appender name="productAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>ERROR</level>
<onMatch>DENY</onMatch>
<onMismatch>ACCEPT</onMismatch>
</filter>
<file>${log.path}/product.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${log.path}/product_%i.log</fileNamePattern>
<maxHistory>90</maxHistory>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<!-- or whenever the file size reaches 200MB -->
<maxFileSize>200MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%msg%n</pattern>
</encoder>
</appender>
<logger name="categoryInfo" level="info" additivity="false">
<appender-ref ref="categoryAppender" />
</logger>
<logger name="productInfo" level="info" additivity="false">
<appender-ref ref="productAppender" />
</logger>
<root level="INFO">
<appender-ref ref="traceInfo" />
</root>
</configuration>
分享到:
相关推荐
《HAP框架-Logback入门手册》是一份深入解析HAP框架中日志管理工具Logback的实用指南。Logback是Java世界里广泛使用的日志处理框架,它由Ceki Gülcü创建,作为Log4j的后继者,旨在提供更高的性能、更灵活的配置...
在这个简单的入门实例中,我们将深入理解Ibatis的基本概念和用法。 首先,我们需要了解Ibatis的核心组件:SqlSessionFactory和SqlSession。SqlSessionFactory是Ibatis的工厂类,用于创建SqlSession对象。SqlSession...
在这个"MyBatis入门实例源码"中,我们可能看到以下几个关键的知识点: 1. **MyBatis基本概念**:MyBatis的核心组件包括SqlSessionFactoryBuilder、SqlSessionFactory、SqlSession和Mapper接口。...
在这个入门实例中,我们将深入理解SpringMVC的核心概念,以及如何通过`springmvc_demo_02`这个项目来创建一个简单的应用。 1. **SpringMVC架构** SpringMVC由几个关键组件组成:DispatcherServlet、Controller、...
本入门实例是针对初学者设计的,通过详细注释的代码,旨在帮助初学者快速掌握 MyBatis 的基本用法和核心概念。以下是一些关键知识点: 1. **配置文件**:MyBatis 的核心配置文件(mybatis-config.xml)用于定义...
9. **日志(Logging)**:Spring Boot 默认使用Logback 或 Log4j2 作为日志系统,并提供了基本的日志配置。 10. **健康检查(Actuator)**:Spring Boot Actuator 提供了一系列端点来监控和管理应用的健康状态、...
这个"base_springboot简单实例_源码"是一个适合初学者的入门级项目,旨在帮助理解SpringBoot的基本架构和运行机制。 首先,让我们深入了解SpringBoot的核心特性: 1. **自动配置**:SpringBoot通过`@...
logback记录tomcat的访问日志" log4j2 "log4j2的日志框架 log4j2的配置 异步日志的使用" spring整合log "依赖的选择 日志的配置文件" SpringBoot日志 "SpringBoot日志 中间转换包统一日志框架 SpringBoot修改日志的...
我们可以使用`@Entity`定义模型类,`@Repository`注解数据访问层接口,然后通过`@Autowired`注入`JpaRepository`实例进行数据操作。 此外,SpringBoot还支持热部署,只需添加`spring-boot-devtools`依赖,就能实现...
7. **日志管理**:Spring Boot 默认使用 Logback 或 Log4j2 进行日志记录,你可以通过配置文件(application.properties 或 application.yml)调整日志级别和输出格式。 8. **测试支持**:Spring Boot 提供了丰富的...
【Java 日志从入门到实战】Java 日志在软件开发中扮演着至关重要的角色,它不仅帮助程序员在项目开发和维护阶段追踪问题,还能提升系统的可维护性和安全性。本文主要针对Java程序员,深入探讨日志的各个方面,以帮助...
Log4j还可以与其他组件结合,如SLF4J(Simple Logging Facade for Java),提供更灵活的日志抽象层,或者通过Logback作为后端实现,提高日志处理性能。 总之,Log4j是Java开发者必备的工具之一,通过深入学习和实践...
接着,教程将深入讲解如何在代码中使用Logger类来记录日志,包括创建Logger实例、设置日志级别、使用不同级别的方法(如debug(), info(), warn(), error()等)以及如何添加自定义的日志信息。此外,还会涉及到MDC...
9. **日志配置**:MyBatis提供了多种日志实现,如Log4j、Logback、JDK内置日志等,可以根据需要配置日志输出,方便调试。 10. **最佳实践**:在实际开发中,通常会结合Spring框架使用MyBatis,通过Spring的`@...
它允许我们在定义Bean时设置条件,只有当这些条件满足时,该Bean才会被Spring容器实例化。例如,我们可以使用`@ConditionalOnClass`来检查某个类是否在类路径中,或者使用`@ConditionalOnProperty`来基于配置属性...
**标题:“Log4j入门配置”** 在Java开发中,日志记录是不可或缺的一部分,它帮助开发者追踪程序运行状态、定位错误和调试问题。Log4j是Apache组织提供的一款强大的日志框架,广泛应用于各种Java项目。这篇博客将...
在给出的例子中,引入了 `drools-bom`、`drools-compiler` 和 `drools-mvel` 的 jar 包,以及 `logback-classic` 作为日志处理库。`drools-bom` 是 Drools 的 Bill Of Materials(BOM),它定义了所有依赖的版本,而...
- **日志记录**:通过 JDK Logging、Commons Logging、Log4j 或 SLF4J + Logback 等工具记录程序运行过程中的信息。 #### 结论 本手册旨在为初学者提供一个全面而深入的 Java 入门指南,涵盖了 Java 语言的基础...