循序渐进看Java web日志跟踪(1)-Tomcat 日志追踪与配置

日志,是软件运行过程中,对各类操作中重要信息的记录。 日志跟踪,不管对于怎么样的项目来说,都是非常重要的一部分,它关系到项目后期的维护和排错,起着举足轻重的作用。项目开发过程中,对日志的记录规则,也将影响到改项目后期维护的难度。

在开发过程中,我们经常遇到的日志记录方式包括有系统输出(System.out,最基础方式),日志框架输出(log4J 等)和分布式日志框架输出等。作为项目的开发者,和后期的管理者来说,对于日志的管理,除了需要知道如何进行日志输出,还需要关注的是,项目后期对日志文件的管理。

日志追踪第一步(web容器日志)

在此分享下自己在学习过程中的经历,本人虽然说是学计算机的,可是学校的Java课程并没怎么学习,大部分的Java知识都是在课后自学的。在最先开始,本人并没有接触到所谓的日志框架,哪怕是在搭建SSH项目的过程中,知道有这样的框架,知道三大框架都采用了这样的日子框架进行日志记录,可是还是没有主动的是去使用,所以在最先开始的时候,本人还是使用最原始的System.out,来进行日志的追踪。在项目开发的工程中,遇到了问题,就System.out一下,看看输出的是啥,然后再排错,我觉得应该不止是我一个人,采用的是这样的老办法吧。这样的问题来了,出了问题去哪找?

其实,不论我们有没有日志输出,只要我们采用的是成型的web容器,web容器就会对一些必要的信息进行日志的记录。在此以最常用的tomcat为例。

tomcat服务器的日志文件配置保存在$CATALINA_HOME/conf目录下的loggin.properties中(在此不做详解),而对应的日志文件,则保留在$CATALINA_HOME/logs目录下。Tomcat容器默认按照日期进行日志的保存,每天都会产生对应于当天的日志文件,其中包括:容器输出、管理日志、访问日志等。我们常见的tomcat启动输出,就对应的在容器日志文件中。对于一些tomcat的错误信息,可以通过这些日志文件进行排查

对于日志输出的规则和保留的目录,不同的web容器采用的方式不同,因此需要根据对应的web容器进行日志查找,在此不再举例了

日志追踪第二步(System.out在哪里)

在此说一下,编程过程中,除了System.out以外,当异常抛出或者是说异常处理的e.printstrack,也都采用的是out输出。从编程角度上看,提出尽量规范化编程,减少System.out和e.printstrack的输出,可是,当这一部分不可避免的时候,就得好好的利用它

作为常用的web容器,tomcat对系统输出有自己的一套管理方法,根据不同管理系统,有不同的配置。

在Linux下,tomcat会为对应的实例创建一个.out文件,放在$CATALINA_HOME/logs目录下,方便后期的排错使用。然而,该文件默认不能自动分割,在没有配置的情况下,该文件会不断的增大,日久天长,或许等到需要排错的时候,该文件的大小可以以G为单位了。所以,在配置完tomcat实例之后,建议修改一下启动文件,让.out文件随着日期的变化自增。

具体的配置如下:

vim catalina.sh

找到catalina.out所在处,将其改为catalina.$(date +%Y-%m-%d) .out(注意date之后的空格)

改完之后,重启tomcat,会发现,tomcat会根据日期的不同,动态的创建.out文件

在Windows下,启动tomcat通常需要启动一个控制台,同时该控制台需要一直开着,tomcat的SYstem.out 也默认为控制台输出。也就是说,开发者所写的System.out,还有异常输出,都会打印在控制台上面。所以如果出了问题,找控制台就行了。。

但是,这一种方式显然非常麻烦,Windows控制台显示查看是有限制的,同时也没有持久化的文件保存下来。所以,需要通过配置tomcat的配置文件,来实现与Linux同样的效果。

1、打开startup.bat文件,找到call "%EXECUTABLE%" start %CMD_LINE_ARGS%, 改为call "%EXECUTABLE%" run %CMD_LINE_ARGS% 。

2、打开catalina.bat文件,在4处 %ACTION% 后面加上     >> %CATALINA_HOME%\logs\catalina.out 。重启tomcat,tomcat的logs文件夹下就会出现catalina.out文件了。

按照上面的方法,同样存在着.out无限变大的问题。如果想要其按照日期进行配置可以通过将catalina.out改为catalina.%date:~0,4%-%date:~5,2%-%date:~8,2%.out,重启即可

至此,关于tomcat的日志追踪,整理完毕。其中部分资源来自网络。

时间: 2024-08-05 09:27:10

循序渐进看Java web日志跟踪(1)-Tomcat 日志追踪与配置的相关文章

循序渐进看Java web日志跟踪(3)-Log4J的使用和配置

之前说过关于java日志跟踪的几大主要用的框架,也说到了,其实在其中,Log4J充当着一个相当重要的角色.目前,大部分框架也都是采用的是Log4J,虽然说它已经停止了更新,作者也重新起了LogBack的项目,但是,LogBack目前在国内的使用还是相当的少.目前大部分项目还是使用的是Log4J,所以记录一下Log4J的一些常见的使用方法和配置. 1.简单的Log4J使用实例 Log4J作为一个较好的框架,它有着功能强大操作简单的特点,在日常开发过程中,其实需要开发人员做的,大部分是其配置文件的编

经验之谈:循序渐进学习Java Web开发的五个阶段

Java web开发是Java开发中的主要方向,那什么是Java web开发呢,Java web开发就是基于J2SE的web应用程序开发,就是通过Java来解决互联网web应用的问题,互联网Web包含两个部分:web服务器和web客户端,Java语言在web服务器端的应用十分丰富,比如常用的Servlet.JSP等,总之,Java编程技术的到来给Web互联网的发展注入了一针强心剂,既然Java Web开发功能这么强大,那我们应如何循序渐进的学习Java Web开发呢?下面亦是美网络小编分为五个阶

java web 学习二(Tomcat服务器学习和使用1)

一.Tomcat服务器端口的配置 Tomcat的所有配置都放在conf文件夹之中,里面的server.xml文件是配置的核心文件. 如果想修改Tomcat服务器的启动端口,则可以在server.xml配置文件中的Connector节点进行的端口修改 例如:将Tomcat服务器的启动端口由默认的8080改成8081端口 Tomcat服务器启动端口默认配置 1 <Connector port="8080" protocol="HTTP/1.1" 2 connect

Mac下Intellij IDea发布Java Web项目详解四 为所有Module配置Tomcat Deployment

准备工作1:新建第一个JavaWeb项目 准备工作2:新建Module step5 为所有项目配置Deployment 5.1 如图 5.2 [+][Artifact] 5.3 将这里列出的所有内容选中后,点[OK] 5.4 选完是这样,表示,这三个java ee 项目会在tomcat启动后,自动发布到Application context路径下. 5.5 为每个web项目设置Application context [WebWorkSpace1]-[/]=== [http:localhost:p

带领技术小白入门——基于java的微信公众号开发(包括服务器配置、java web项目搭建、tomcat手动发布web项目、微信开发所需的url和token验证)

微信公众号对于每个人来说都不陌生,但是许多人都不清楚是怎么开发的.身为技术小白的我,在闲暇之余研究了一下基于java的微信公众号开发.下面就是我的实现步骤,写的略显粗糙,希望大家多多提议! 一.申请服务器 1.我购买的是阿里云服务器,购买后要设置一下服务器密码,默认用户名是administrator,购买好后如下: 2.申请好后,copy一下此服务器的IP地址(公有),在本地ping一下看看是否可用,j键盘Win+R,输入cmd,输入ping+IP回车,如下即为成功: 二.配置服务器 1.下载远

全网最详细的Eclipse和MyEclipse里对于Java web项目发布到Tomcat上运行成功的对比事宜【博主强烈推荐】【适合普通的还是Maven方式创建的】(图文详解)

不多说,直接上干货! 首先,大家要明确,IDEA.Eclipse和MyEclipse等编辑器之间的新建和运行手法是不一样的. 全网最详细的Eclipse里如何正确新建普通的Java web项目并发布到Tomcat上运行成功[博主强烈推荐](图文详解) Eclipse是 或者 MyEclipse是 由 变成 即,只有所框的部分过去了.并且自动改名为dat08. 用MyEclipse里自带的Web Browser检测: 用第三方安装的浏览器检测: 欢迎大家,加入我的微信公众号:大数据躺过的坑   

1、Web容器的理解&amp;Tomcat的安装与配置

Web容器的理解 <Java Web开发实战经典——基础篇>一书中对Web容器这一概念阐述得很好,借用其观点对Web容器加以理解: 想要运行一个Java Web的程序,则必须有相应的Web容器支持,因为所有的动态页面的程序代码都要在Web容器中执行,并将最后生成的结果交付给用户使用. 服务器端使用Web服务插件接受客户端的http请求,并对用户请求加以判断,判断其是动态请求还是静态请求.如果是静态请求,则直接通过Web服务器从文件系统中取得相应的文件,并通过http协议返回到客户端浏览器:如果

Java Web 简介,MyEclipse介绍,MyEclipse中配置自己的jre以及tomcat

MyEclipse Web项目目录结构: WEB-INF目录结构如下: MyEclipse介绍: MyEclipse与Eclipse的区别: MyEclipse自带有jdk,但是推荐用我们自己安装的JDK,MyEclipse中配置jre如下: java----->>installed jres------>>Add---Standard VM--next>> 找到自己安装的jdk目录: MyEclipse自带有tomcat服务器,但是推荐我们用自己安装的tomcat服务

[Java.Web]从零开始布署 Tomcat

1. 下载 JRE 1.7 2. 下载 Tomcat 7.0.77,我使用的是红圈的压缩包版本,也可以使用绿圈的安装包版本[更省心] 3. 加入环境变量 JRE_HOME .CATALINA_HOME 如果是开发环境,还需要加入环境变量 CLASSPATH.修改环境变量 Path 可以参考:http://www.cnblogs.com/lioillioil/archive/2011/09/14/2176595.html 4. 运行 %CATALINA_HOME%\bin\service.bat