转载请注明From:http://blog.163.com/jackswu@yeah/blog/static/140629123201251355531192/
1、打开Resin.conf
在<resin></resin>里面修改/添加下面代码:(一般resin.conf都会有这句)
<log name="" level="fine" path="stdout:" timestamp="[%H:%M:%S.%s] {%{thread}} "/>
参数说明:
Name 是指定记录各层次类型的调试日志;name 设定有几种情况,如:
Name=’’ name为空,是对所有应用、包括端口全面进行调试记载日志
Name=’com.caucho.jsp’ 指定只对jsp进行调试记载日志
Name=’com.caucho.java’ 指定只对java类进行调试记载日志
Name=’com.caucho.server.port’ 指定只对端口、线程进行调试记载日志
Name=’com.caucho.server.port.AcceptPool 指定只对端口线程的创建和释放调试记载日志
下面是官方的说明:
Level:日志级别,分有 off, severe, config, info, warning, fine, finer, finest, all
每个级别代表记录的内容,info适用于生产环境,fine or finer等适用于开发环境,all是记录所有类型的日志。
Path:日志路径,如果path指定为绝对路径,例如path="log/info.log",将所在级别输出的日志保存到log/info.log文件中,screen不会显示相关的日志内容;若path="stdout:" 则表示将日志内容输出到stdout-log所指定的文件中,若stdout-log没有指定日志文件,则所有的日志内容都会显示在screen中。一般log是不输出到文件,log是输出到stdout-log或者stderr-log,再由stdout-log和stderr-log输出指定的日志文件。stdout-log和 stder-log一般是是放在<host-default> </host-default>里面。
官方的说明如下:
Timestamp:是指日志输出的时间格式,%Y:年,%m:月,%d:日,%H:小时,%M:分钟,%S:秒,%s:微秒,{%{thread}} 是指当前的线程。
若log的path是指定到绝对路径,则可以加入rollover-period(记录周期循环),rollover-size(日志超过的大小循环)和archive-format(输出的文件格式)参数,rollover-period="1D",表示每天生成一个日志文件,1W表示每周生成一个日志文件,1M表示每月生成一个日志文件,1h表示每小时生成一个日志文件,这时需要配置好生成文件的规则(archive-format参数),例如archive-format="info-%Y%m%d.log",这样就会按周期生成一个日志文件;rollover-size是规定当日志文件超过多大时,生成一个日志文件,例如rollover-size="1mb"表示日志文件超过1MB时,生成新的日志,单位可以是字节(直接输入数值),kb和mb。
<stdout-log> , <stderr-log>和<access-log>的参数配置和<log>一样。
有几个需要注意的地方:1、当log输出到stdout-log时,log不能配置rollover-peroid和rollover-size参数,因为输出的日志已经指定到stdout-log了,不能由log输出日志文件。 2、
2、实际例子:
说明:将info类型的日志内容存放到resin.home/log/info.log,并且每周生成一个日志文件,用日期命名。
<resin>
......
<log name="" level="info" path="stdout:" timestamp="%H:%M:%S.%s {%{thread}}" />
......
<host-default>
.....
<stdout-log path="${resin.home}/log/info.log" timestamp="[%Y-%m-%d
%H:%M:%S.%s]" archive-format="info-%Y%m%d.log" rollover-period="1W" />
.....
</host-default>
......
</resin>
========================================================================================
具体配置
<log name="" level="info" path="stdout:"
timestamp="[%H:%M:%S.%s] {%{thread}} "/>
....
<host-default>
<!--
- With another web server, like Apache, this can be commented out
- because the web server will log this information.
-->
<access-log path="logs/access.log"
format='%h %l %u %t "%r" %s %b "%{Referer}i" "%{User-Agent}i"'
rollover-period="1W"/>
<stdout-log path="${resin.home}/log/jtaskfacade_stdout.log" timestamp="[%Y-%m-%d
%H:%M:%S.%s]" archive-format="cms_stdout-%Y%m%d%H.log" rollover-period="1h" />
<stderr-log path="${resin.home}/log/jtaskfacade_stderr.log" timestamp="[%Y-%m-%d
%H:%M:%S.%s]" archive-format="cms_stderr-%Y%m%d%H.log" rollover-period="1h" />
<!-- creates the webapps directory for .war expansion -->
<web-app-deploy path="webapps"/>
<!-- creates the deploy directory for .ear expansion -->
<ear-deploy path="deploy">
<ear-default>
<ejb-server>
<config-directory>WEB-INF</config-directory>
</ejb-server>
</ear-default>
</ear-deploy>
<!-- creates the deploy directory for .rar expansion -->
<resource-deploy path="deploy"/>
</host-default>