1. 将log4j.jar放到WEB-INF/lib下。
2. 通过IDE在项目构建中添加对log4j.jar的引用。
3. 放置log4j.properties或log4j.xml文件
使用标准的名称作为配置文件的名称是为了使LOG4J可以自动搜索到该文件并加载它。对于tomcat环境,缺省情况下该文件需要放到WEB-INF/classes下。对于WebSphere环境,缺省情况下该文件可以放到WEB-INF/classes下,也可以放到和WEB-INF同一层目录中。如果希望改变此文件的位置,可以通过将该文件所在的目录加入到项目构建的类路径中实现。
如果使用log4j.xml文件,需要将标准的log4j.dtd放到和log4j.xml同一个目录下。
4. 配置log4j
一般将fileappender产生的日志文件配置到logs/下,对于两种应用服务器,此目录的具体位置稍有不同。tomcat会在${CATALINA_HOME}/bin下创建logs目录;websphere会使用概要表文件目录下的logs目录。
在配置logger时,应使用包的名称作为logger的名称,这样可以使log4j在运行时自动寻找匹配的logger。
5. 在程序中使用log4j
在需要使用log4j的类中,导入log4j,如:
import org.apache.log4j.Logger
为类加入成员logger,并调用静态方法对其进行初始化。
protected Logger logger = Logger.getLogger(this.getClass().getName())
初始化后,当前类就从配置文件中获得了与类名称匹配的logger;如果找不到与类名称匹配的logger,则log4j会向上寻找与该类所在的包的名称匹配的logger;如果找不到任何匹配的logger,则使用rootLogger作为缺省的logger。
加入了如上的logger成员后,就可以在程序中进行日志输出了。
此外,我个人认为应该尽量在servlet层使用log4j进行日志 *** 作,而不是在jsp中或bean中。因为servlet起着流程控制作用,在控制过程中使用日志记录流程的执行情况比较合适。另外,记录日志时经常会记录USERID这类的信息,这些信息经常放在context中,而从servlets中访问context比较方便。
WebSphere的日志信息:../profiles/Appsrv01/logs/server下主要日志:SystemErr.log 系统出错日志 SystemOut.log 系统中所有活动的日志 trace.log 系统中所有跟踪的事件的日志startServer.log 启动服务器事件的日志 stopServer.log 停止服务器事件的日志 native_stderr.log Gc垃圾收集日志 IBM Http Server(IHS)与Plugin日志信息: httpserver/../logs下相关日志如果有相关was抛错等首先查看以上日志文件。哈哈,你手头随便有个WAS么?只要有就有这个文件啊。如果你WAS都没有,看这两个文件做什么呢?
建议你去下载个Websphere Application Server Community Edition,免费的, *** 作上也差不多的,这两个文件格式和WAS ND一样的。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)