tomcat 详解 三catalina.home和catalina.base
2017-01-16 21:06
399 查看
log4j.properties
文件的配置内容如下:
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] -%m%n
# define an appender named file, which is set to be aRollingFileAppender
log4j.appender.filelog=org.apache.log4j.DailyRollingFileAppender
log4j.appender.filelog.File=${catalina.base}/logs/mysio.log
log4j.appender.filelog.layout=org.apache.log4j.PatternLayout
log4j.appender.filelog.layout.ConversionPattern=%-5p %d{yyyy-MM-ddHH:mm:ss,SSS} %C{1}:%M - %m%n
其中 ${catalina.base} 的说明如下:
catalina.home和catalina.[b]base[/b]这两个属性仅在你需要安装多个Tomcat实例而不想安装多个软件备份的时候使用,这样能节省磁盘空间。
以Tomcat6.0为例,其Tomcat目录结构如下:
bin (运行脚本)
conf (配置文件)
lib (核心库文件)
logs (日志目录)
temp (临时目录)
webapps (自动装载的应用程序的目录)
work (JVM临时文件目录[java.io.tmpdir])
让我们看看这些目录那些可以被多个Tomcat实例公用,其实只有bin 和 lib 目录,其它目录conf、logs、temp、webapps和work每个Tomcat实例必须拥有其自己独立的备份。
明白了上述关系就容易理解catalina.home和catalina.base的用途了。
catalina.home指向公用信息的位置,就是bin和lib的父目录。
catalina.base指向每个Tomcat目录私有信息的位置,就是conf、logs、temp、webapps和work的父目录。
仅运行一个Tomcat实例时,这两个属性指向的位置是相同的。
引自:http://txy821.javaeye.com/blog/557584
logback常用配置:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<!--定义日志文件的存储地址 勿在LogBack的配置中使用相对路径-->
<property name="LOG_HOME" value="${catalina.base}/logs"/>
<property name="encoding" value="UTF-8"/>
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度;%M:%L是方法和行号;%msg是日志消息;%n是换行符-->
<property name="normal-pattern"
value="%d{yyyy-MM-dd.HH:mm:ss} %-5level [%thread] %logger{50}.%M:%L - %msg%n"/>
<property name="plain-pattern" value="%d{yyyy-MM-dd.HH:mm:ss} %msg%n"/>
<!-- 按照每天生成日志文件 -->
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!--日志文件输出的文件名-->
<file>${LOG_HOME}/nongfeng.log</file>
<Append>true</Append>
<prudent>false</prudent>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!--归档日志文件名-->
<FileNamePattern>${LOG_HOME}/nongfeng.log.%d{yyyy-MM-dd}</FileNamePattern>
<!--日志文件保留个数-->
<maxHistory>72</maxHistory>
</rollingPolicy>
</appender>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
</encoder>
</appender>
<!-- log file error -->
<appender name="nongfeng_error"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>ERROR</level>
</filter>
<file>${LOG_HOME}/nongfeng_error.log</file>
<prudent>false</prudent>
<Append>true</Append>
<encoder>
<pattern>${normal-pattern}</pattern>
<charset>${encoding}</charset>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${LOG_HOME}/nongfeng_error.log.%d{yyyy-MM-dd}</fileNamePattern>
<maxHistory>30</maxHistory>
</rollingPolicy>
</appender>
<!-- 日志输出级别 -->
<root level="INFO">
<appender-ref ref="FILE"/>
<appender-ref ref="STDOUT"/>
<appender-ref ref="nongfeng_error"/>
</root>
</configuration>
root日志级别设置为info,大于他的日志级别都会被打印,日志级别优先级有
error>warn>info>debug
文件的配置内容如下:
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] -%m%n
# define an appender named file, which is set to be aRollingFileAppender
log4j.appender.filelog=org.apache.log4j.DailyRollingFileAppender
log4j.appender.filelog.File=${catalina.base}/logs/mysio.log
log4j.appender.filelog.layout=org.apache.log4j.PatternLayout
log4j.appender.filelog.layout.ConversionPattern=%-5p %d{yyyy-MM-ddHH:mm:ss,SSS} %C{1}:%M - %m%n
其中 ${catalina.base} 的说明如下:
catalina.home和catalina.[b]base[/b]这两个属性仅在你需要安装多个Tomcat实例而不想安装多个软件备份的时候使用,这样能节省磁盘空间。
以Tomcat6.0为例,其Tomcat目录结构如下:
bin (运行脚本)
conf (配置文件)
lib (核心库文件)
logs (日志目录)
temp (临时目录)
webapps (自动装载的应用程序的目录)
work (JVM临时文件目录[java.io.tmpdir])
让我们看看这些目录那些可以被多个Tomcat实例公用,其实只有bin 和 lib 目录,其它目录conf、logs、temp、webapps和work每个Tomcat实例必须拥有其自己独立的备份。
明白了上述关系就容易理解catalina.home和catalina.base的用途了。
catalina.home指向公用信息的位置,就是bin和lib的父目录。
catalina.base指向每个Tomcat目录私有信息的位置,就是conf、logs、temp、webapps和work的父目录。
仅运行一个Tomcat实例时,这两个属性指向的位置是相同的。
引自:http://txy821.javaeye.com/blog/557584
logback常用配置:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<!--定义日志文件的存储地址 勿在LogBack的配置中使用相对路径-->
<property name="LOG_HOME" value="${catalina.base}/logs"/>
<property name="encoding" value="UTF-8"/>
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度;%M:%L是方法和行号;%msg是日志消息;%n是换行符-->
<property name="normal-pattern"
value="%d{yyyy-MM-dd.HH:mm:ss} %-5level [%thread] %logger{50}.%M:%L - %msg%n"/>
<property name="plain-pattern" value="%d{yyyy-MM-dd.HH:mm:ss} %msg%n"/>
<!-- 按照每天生成日志文件 -->
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!--日志文件输出的文件名-->
<file>${LOG_HOME}/nongfeng.log</file>
<Append>true</Append>
<prudent>false</prudent>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!--归档日志文件名-->
<FileNamePattern>${LOG_HOME}/nongfeng.log.%d{yyyy-MM-dd}</FileNamePattern>
<!--日志文件保留个数-->
<maxHistory>72</maxHistory>
</rollingPolicy>
</appender>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
</encoder>
</appender>
<!-- log file error -->
<appender name="nongfeng_error"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>ERROR</level>
</filter>
<file>${LOG_HOME}/nongfeng_error.log</file>
<prudent>false</prudent>
<Append>true</Append>
<encoder>
<pattern>${normal-pattern}</pattern>
<charset>${encoding}</charset>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${LOG_HOME}/nongfeng_error.log.%d{yyyy-MM-dd}</fileNamePattern>
<maxHistory>30</maxHistory>
</rollingPolicy>
</appender>
<!-- 日志输出级别 -->
<root level="INFO">
<appender-ref ref="FILE"/>
<appender-ref ref="STDOUT"/>
<appender-ref ref="nongfeng_error"/>
</root>
</configuration>
root日志级别设置为info,大于他的日志级别都会被打印,日志级别优先级有
error>warn>info>debug
相关文章推荐
- tomcat 详解 三catalina.home和catalina.base
- tomcat 详解 三catalina.home和catalina.base
- tomcat catalina.home和catalina.base区别(转)
- tomcat 中的catalina.home和catalina.base
- tomcat配置的环境变量catalina.home和catalina.base 区别
- Tomcat - CATALINA_BASE与CATALINA_HOME的区别
- [tomcat7源码学习]初始化之catalina.home和catalina.base(转)
- tomcat配置的环境变量catalina.home和catalina.base 区别
- Tomcat解惑 之 CATALINA_HOME与CATALINA_BASE
- Tomcat解惑 之 CATALINA_HOME与CATALINA_BASE
- Tomcat解惑 之 CATALINA_HOME与CATALINA_BASE
- Tomcat源码分析-catalina.home和catalina.base
- Tomcat_CATALINA_BASE与CATALINA_HOME的区别
- Tomcat CATALINA_BASE与CATALINA_HOME的区别
- tomcat catalina.home catalina.base wtp.deploy
- tomcat CATALINA_HOME与CATALINA_BASE的区别
- CATALINA_BASE和CATALINA_HOME,多实例tomcat与多版本tomcat运行
- TOMCAT启动时报错:the CATALINA_HOME environment variable is not defined correctly
- catalina.home和catalina.base
- 关于Tomcat Manager GUI和CATALINA_HOME环境变量的使用