# logback-web **Repository Path**: dsxbygzzl/logback-web ## Basic Information - **Project Name**: logback-web - **Description**: 若在tomcat/glassfish/weblogic等容器中有多个项目都使用logback,可搭配logback-web,使每个项目自动读取自身路径下的独立配置文件(一般位于WEB-INF/classes下) - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 14 - **Forks**: 2 - **Created**: 2016-01-22 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: logging **Tags**: None ## README #logback-web 一般情况下,如果在同一个web容器中有多个项目用到logback(下面都以tomcat为例,其他容器类似) 1)每个项目都自带logback的lib包和配置文件(logback.xml) 缺点:项目多的话一堆重复的第三方jar包,打war包发布更新的时候慢 2)把lib包和配置文件都放在tomcat/lib下 缺点:多个项目的配置写在同一个文件中,互相干扰,发布完还得手动改,不方便 为了解决该问题,建立了logback-web项目 内容非常简单,就一个类+一个配置文件 达到的效果:将logback的jar包和logback-web的包都放在tomcat/lib下,而每个项目自己的日志配置文件(logback.xml或logback.groovy)放在自己的WEB-INF/classes下,logback自动为每个项目分别初始化LoggerFactory 原理:logback读取配置文件的顺序为 1.classpath下(如果jar包放在tomcat/lib下它就会到这个目录找) 2.寻找Configurator的第一个实现类 3.代码内默认的配置(以固定格式输出日志到console) logback-web就是实现了Configurator,根据每个项目初始化线程找到项目路径,分别读取配置文件