• 转:Tomcat在windows下生成catalina.out记录日志


    一、说明

    之前我们在linux系统下查看日志的时候,总有个习惯,启动项目后会进入logs/下,敲击类似 tail -fn500 catalina.out的命令,便可以进入到catalina.out中实时的显示出最新的500行信息,但是有个问题,在windows系统中我们却没发现这个catalina.out,难道是只有在linux系统下才有catalina.out文件吗?

    其实不是这样的,首先说下为什么在linux下是叫catalina.out,这是由于catalina_home/bin/catalina.sh文件指定的,参看下面部分源码:

    shift
      touch "$CATALINA_BASE"/logs/catalina.out
      if [ "$1" = "-security" ] ; then
        echo "Using Security Manager"
        shift
        "$_RUNJAVA" $JAVA_OPTS "$LOGGING_CONFIG" $CATALINA_OPTS 
          -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" 
          -Djava.security.manager 
          -Djava.security.policy=="$CATALINA_BASE"/conf/catalina.policy 
          -Dcatalina.base="$CATALINA_BASE" 
          -Dcatalina.home="$CATALINA_HOME" 
          -Djava.io.tmpdir="$CATALINA_TMPDIR" 
          org.apache.catalina.startup.Bootstrap "$@" start 
          >> "$CATALINA_BASE"/logs/catalina.out 2>&1 &
    
        if [ ! -z "$CATALINA_PID" ]; then
            echo $! > $CATALINA_PID
          fi

    注:touch命令可以创建一个不存在的文件

    那么同理可以想象在windows下也可以存在catalina.out文件(只是默认建的文件不叫这个名而已),那么可不可以在windows系统下也看的见,或者说创建出catalina.out呢?答案是肯定的,参考如下:

    由于tomcat本身是可以跨平台的,故既然有linux下的catalina.sh,就会对应有windows下的catalina.bat

    二、修改配置

    注意这里我们要修改两部分:
    1、打开bin下面的startup.bat文件 把start改为run

    //最后一行
    把call "%EXECUTABLE%" start %CMD_LINE_ARGS%,修改为call "%EXECUTABLE%" run %CMD_LINE_ARGS%

    2、打开bin下面的catalina.bat文件,会发现共有4处%ACTION%,在后面分别加” >>%CATALINA_HOME%logscatalina.out”

    //最后四行末尾的%ACTION%后追加空格加>>%CATALINA_HOME%logscatalina.out
    >>%CATALINA_HOME%logscatalina.out

    3.你可以使用hoo wintail软件打开catalina.out文件就能像linux下一样查看日志了。

    注:Hoo WinTail是一款Windows下的文件查看程序,有点类似Unix的tail-f,可以查看不断增大的文件尾部.它非常适合于在文件生成的同时实时查看诸如应用程序运行记录或者服务器日志之类的文件.它可以查看一个巨大的文件的最后的部分而不需要载入整个文件.它是一个文件查看器,以只读方式打开文件,不会改动打开的文件.当有其他程序向该文件写入新行时,Hoo WinTail会读取新行并显示出来.它可以读取并显示任何文本文件,不支持.doc文件.xls文件,或者其他特别文件。

     *4.修改tomcat窗口标题。打开bin目录夏startup.bat文件添加配置  title 标题名称(例如title tomcat-9095[%DATE% %TIME%],%DATE% %TIME%是获取启动的日期时间)

  • 相关阅读:
    uni-app开发经验分享四: 实现文字复制到选择器中
    uni-app开发经验分享三: Vuex实现登录和用户信息留存
    uni-app 开发随笔(踩坑记录)
    uni-app开发经验分享二: uni-app生命周期记录
    uni-app开发经验分享一: 多页面传值的三种解决方法
    JS复习笔记一:冒泡排序和二叉树列
    jQ实现图片无缝轮播
    canvas星空背景特效+CSS旋转相册学习
    CSS响应式布局学习笔记(多种方法解决响应式问题)
    LeetCode 76. 最小覆盖子串
  • 原文地址:https://www.cnblogs.com/fxcoding/p/11643222.html
Copyright © 2020-2023  润新知