tomcat服务器日志记录文件说明和问题初筛

1.认识tomcat服务器日志文件

在这里插入图片描述

2.SpringBoot项目开启记录日志文件

logging.file.name=xxx.log  其中xxx代码日志文件名称

3.根据实验

如果在springboot项目中
开启 logging.file.name=xxx.log 项目在服务器中会生成log文件
开启 logging.level.com.mt.mapper=debug在服务器port8087-stdout.2024-04-25.log打印sql语句

4.Spring Boot和MyBatis框架的日志输出

logging.level.com.包名.mapper 是Spring Boot框架日志输出
mybatis.configuration.log-impl 是MyBatis框架日志输出
在这里插入图片描述

5.部署在tomcat服务器上,控制台输出内容在哪

C:\Program Files\Apache Software Foundation\Tomcat 8.5_Port8087\logs

port8087-stdout.2024-04-25.log

6.程序运行报错输出

C:\Program Files\Apache Software Foundation\Tomcat 8.5_Port8087\logs

port8087-stderr.2024-04-25.log

7.记录访问Tomcat服务器的所有HTTP请求信息

C:\Program Files\Apache Software Foundation\Tomcat 8.5_Port8087\logs

localhost_access_log.2024-04-25.txt 

localhost_access_log.2024-04-25.txt 是Tomcat服务器中的一个日志文件,用于记录访问Tomcat服务器的所有HTTP请求信息。具体来说,它记录了请求的地址、请求的路径、请求的时间、请求协议(如HTTP/1.1)以及响应的返回码等。这些信息对于分析服务器的访问情况、追踪问题以及进行性能优化等都非常有帮助。

例如,如果你想要查询某个特定的URL(如index.action)在特定日期(如2024年4月25日)是否访问过Tomcat服务器,你可以使用文本搜索工具(如grep命令)来搜索localhost_access_log.2024-04-25.txt文件。如果找到匹配的记录,那么相应的IP地址、访问时间、请求方式(GET或POST)以及请求的URL等信息都会被显示出来。

这个文件通常位于Tomcat的logs目录下,并且每天都会生成一个新的日志文件,文件名中的日期部分会随之改变,以便记录不同日期的访问信息。

需要注意的是,这个日志文件的详细程度和格式可能会因为Tomcat的配置而有所不同。例如,可以通过修改Tomcat的配置文件来调整日志的详细级别、输出格式等。因此,在实际使用中,建议查阅Tomcat的官方文档或相关配置指南,以了解如何根据具体需求进行配置和管理这些日志文件。

8.记录tomcat内部程序错误,如内存溢出或者泄漏

localhost.2024-04-25.log
在这里插入图片描述

9.记录服务器参数配置

catalina.2024-04-25.log

在这里插入图片描述

部署在服务器的日志文件记录配置参数

在这里插入图片描述

10.localhost.2024-04-25.log和port8087-stderr.2024-04-25.log区别

localhost.2024-04-25.log 和 port8087-stderr.2024-04-25.log 都是Tomcat服务器产生的日志文件,但它们记录的内容和用途有所不同。
localhost.2024-04-25.log
localhost.2024-04-25.log 主要记录Tomcat容器自身的日志信息。这包括Tomcat启动和关闭时的信息、应用程序的部署和取消部署情况、内部错误和异常、线程和连接池的活动、安全相关事件以及其他内部事件。这个文件对于诊断Tomcat服务器的问题、监控服务器状态以及理解服务器行为非常有帮助。

如果Tomcat发生了内存溢出问题,localhost.2024-04-25.log 可能会记录与内存溢出相关的错误或异常信息。这些信息通常表现为Java堆内存溢出的错误堆栈跟踪,有助于开发者定位问题的根源。

port8087-stderr.2024-04-25.log
port8087-stderr.2024-04-25.log 通常记录的是Tomcat实例的标准错误输出(stderr)。这包括应用程序在运行过程中输出到标准错误流的所有信息。如果应用程序代码中有任何通过System.err打印的错误消息或异常堆栈跟踪,它们都会被记录到这个文件中。

内存溢出问题通常会导致Java虚拟机(JVM)抛出异常,这些异常的信息可能会被输出到标准错误流,因此也可能会出现在port8087-stderr.2024-04-25.log中。这个文件特别有用,因为它直接反映了应用程序在运行时的错误情况。

区别
内容来源:localhost.2024-04-25.log 主要记录Tomcat容器自身的日志信息,而 port8087-stderr.2024-04-25.log 记录的是应用程序的标准错误输出。
用途:localhost.2024-04-25.log 用于诊断Tomcat服务器的问题和监控服务器状态,而 port8087-stderr.2024-04-25.log 主要用于查看应用程序运行时的错误情况。
内存溢出问题:两者都可能记录与内存溢出相关的错误信息,但localhost.2024-04-25.log 更可能提供关于Tomcat容器内部错误的上下文信息,而 port8087-stderr.2024-04-25.log 则更直接地反映应用程序层面的错误。
在排查内存溢出问题时,建议同时检查这两个日志文件,以便更全面地了解问题的来龙去脉。此外,还可以使用Java内存分析工具(如Eclipse Memory Analyzer)来帮助找到内存泄漏的根本原因。

11.tomcat服务器记录接口请求响应时间

文件是tomcat服务器 server.xml 文件
增加 %D 它记录的是从接收到请求到发送响应的总时间。
记录的日志文件是 localhost_access_log.2024-04-25.txt

     <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log" suffix=".txt"               
			   pattern="%h %l %u %t &quot;%r&quot; %s %b %D"
			   />
127.0.0.1 - - [26/Apr/2024:10:30:45 +0000] "GET /example HTTP/1.1" 200 1024 150
其中 150 是请求到响应的处理时间,表示该请求处理总共花费了 150 毫秒。

12.logging.level.com.xxx.mapper=

分别 debug、ERROR、WARN、INFO区别是什么
这是关于日志记录级别的设置,不同级别表示不同的日志记录详细程度:

  • DEBUG:最详细的日志记录级别,通常用于调试目的,记录详细的调试信息。
  • ERROR:只记录错误级别的日志信息,用于标识程序中的错误情况。
  • WARN:记录警告级别的日志信息,用于标识潜在的问题,但不影响程序正常运行。
  • INFO:记录信息级别的日志信息,用于记录程序的一般性运行情况。

一般来说,生产环境中会将日志级别设置为ERROR或者INFO,以避免产生过多的日志信息。在开发和调试阶段,可以将日志级别设置为DEBUG,以便更详细地追踪程序的运行情况。

13.mybatis.configuration.log-impl=

是 MyBatis 配置日志实现的属性,
mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl:
这个属性指定了 MyBatis 中日志输出的实现类,即将日志输出到标准输出(控制台)。

14.mybatis.configuration.log-impl配置项指定了MyBatis框架中的日志输出方式,通常可以设置为以下几种级别:

  1. org.apache.ibatis.logging.stdout.StdOutImpl:将日志输出到标准输出流(即控制台)。
  2. org.apache.ibatis.logging.slf4j.Slf4jImpl:将日志输出到SLF4J(Simple Logging Facade for Java)日志框架。
  3. org.apache.ibatis.logging.log4j.Log4jImpl:将日志输出到Log4j日志框架。
  4. org.apache.ibatis.logging.log4j2.Log4j2Impl:将日志输出到Log4j 2日志框架。
  5. org.apache.ibatis.logging.jdk14.Jdk14LoggingImpl:将日志输出到JDK 1.4+的java.util.logging框架。
  6. org.apache.ibatis.logging.commons.JakartaCommonsLoggingImpl:将日志输出到Jakarta Commons Logging框架。
  7. org.apache.ibatis.logging.nologging.NoLoggingImpl:不进行任何日志记录。

你可以根据项目的需求和喜好选择适合的日志输出方式。

15.logging.level.com.xxx.mapper 是SpringBoot级别设置,那么 mybatis.configuration.log-impl是什么级别

mybatis.configuration.log-impl是MyBatis框架中的一个配置项,用于指定MyBatis框架内部的日志输出方式。这个配置项通常在MyBatis的配置文件(比如mybatis-config.xml)或者Spring Boot的application.properties或application.yml文件中进行设置。它与Spring Boot的日志级别配置项logging.level.com.xxx.mapper不同,后者用于指定Spring Boot应用程序中特定包或类的日志记录级别。

16.如果logging.level.com.xxx.mapper=info 和mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl,都是输出,那么会在tomcat服务器中输出两份日志嘛

是的,如果配置中同时设置了logging.level.com.xxx.mapper=infomybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl,会在控制台输出两份日志信息。一份来自Spring Boot的日志输出,根据设置的级别(INFO)记录相应包或类的日志信息,另一份来自MyBatis框架的日志输出,将MyBatis框架内部的日志信息输出到控制台。这两份日志信息并不会合并,而是独立输出。

  • 20
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值