前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用Logback的项目运行时自动创建catalina.home_IS_UNDEFINED文件夹

使用Logback的项目运行时自动创建catalina.home_IS_UNDEFINED文件夹

作者头像
明明如月学长
发布2021-08-27 16:17:12
1.1K0
发布2021-08-27 16:17:12
举报

如题,使用最近Logback的项目运行时自动创建了catalina.home_IS_UNDEFINED文件夹。

配置文件如下:

代码语言:javascript
复制
            %date{HH:mm:ss.SSS} %-5p [%t] %c{1} - %m%n
        
    

    
        ${catalina.home}/logs/myApplication.log
        
            ${catalina.home}/logs/myApplication.%d{yyyy-MM-dd}.log
        
        
            %-5p  %date{HH:mm:ss.SSS} [%t] %c{1} - %m%n
        
        true

分析原因:

根据文件夹的名即可猜测出 catalina.home 这个属性 没有被定义。

而catalina.home 我们知道是Tomcat有关。

也就是说只有项目在tomcat启动时才会被填充这个属性。

通过在stackoverflow中查找方案得到两个方案:

方案1: 在logback.xml中设置属性前判断是否被定义

代码语言:javascript
复制
        ${log.folder}/company.myApp.log
        ...
    

    ...

如果没有定义的话 日志文件将被写在在target文件夹下的logs文件夹下。

方案2: 重写值

代码语言:javascript
复制
<property name="log.folder" value="./target/logs"/>
<if condition='isDefined("catalina.home")'>
    <then>
        <property name="log.folder" value="${catalina.home}/logs"/>
    </then>
</if>

就是如果定义了catalina.home,那么再次设置log.folder属性的值。

由于使用了条件语句,运行如果提示Could not find Janino library on the class path 错误需要添加janino依赖:

代码语言:javascript
复制
  <!--日志系统-->
<!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-api -->
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>1.7.25</version>
</dependency>

<!-- https://mvnrepository.com/artifact/ch.qos.logback/logback-core -->
<dependency>
    <groupId>ch.qos.logback</groupId>
    <artifactId>logback-core</artifactId>
    <version>1.2.3</version>
</dependency>

<dependency>
    <groupId>ch.qos.logback</groupId>
    <artifactId>logback-classic</artifactId>
    <version>1.2.3</version>
</dependency>
<!-- The org.codehaus.janino:commons-compiler:2.6.1 dependency -->
<!-- will be automatically pulled in by Maven's transitivity rules -->
<dependency>
    <groupId>org.codehaus.janino</groupId>
    <artifactId>janino</artifactId>
    <version>3.0.6</version>
</dependency>
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-04-23 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档