windows下启动tomcat,日志乱码问题,日志架构springboot+logback

最近在做架构迁移工作,将原有springmvc项目调整至springboot架构上,迁移完后,发现用springboot以jar包形式启动正常,用tomcat去启动时日志乱码,但是项目部署至Linux环境启动也正常,以下是日志乱码代码:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<include resource="org/springframework/boot/logging/logback/base.xml" />
<logger name="org.springframework.web" level="INFO"/>
<logger name="org.springboot.sample" level="TRACE" />

<!-- 开发、测试环境 -->
<springProfile name="dev,test,devtest">
    <logger name="org.springframework.web" level="INFO"/>
    <logger name="org.springboot.sample" level="INFO" />
    <logger name="hwja.com" level="DEBUG" />
</springProfile>

<!-- 生产环境 -->
<springProfile name="prod">
    <logger name="org.springframework.web" level="ERROR"/>
    <logger name="org.springboot.sample" level="ERROR" />
    <logger name="hwja.com" level="ERROR" />
</springProfile>

</configuration>
下面我们来分析一下:

windows系统默认编码GBK,而项目编码统一为UTF-8,与springboot集成的logback日志默认编码也设置的是UTF-8,所以导致日志输出为乱码,Linux下面全为UTF-8,所以正常,那么如何解决呢,解决思路将springboot集成的logback日志默认编码去掉,让它自动去读操作系统的环境编码,也就是默认的tomcat中的file.encoding的默认值,解决后的日志代码如下:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<include resource="org/springframework/boot/logging/logback/defaults.xml" />
<property name="LOG_FILE" value="${LOG_FILE:-${LOG_PATH:-${LOG_TEMP:-${java.io.tmpdir:-/tmp}}}/spring.log}"/>
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>${CONSOLE_LOG_PATTERN}</pattern>
<!--注意此处删除编码方式,让其读操作系统默认编码-->

如果仍然有问题,可以联系我QQ:604313052 WX:Ca604313052

原文地址:http://blog.51cto.com/11985461/2152467

时间: 2024-12-11 10:04:11

windows下启动tomcat,日志乱码问题,日志架构springboot+logback的相关文章

在Windows下安装Tomcat服务器

Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选服务器. 在Windows下安装Tomcat服务器的方式有两种,一种是直接安装,一种是绿色版,解压后就可以直接使用的 这篇博客为大家介绍第二种方式 首先从http://download.csdn.net/detail/u010105970/9493219中下载Tomcat服务器 第一步将Tomcat服务器的压缩包放在D:\dev

如何在Windows下安装Tomcat服务器

Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选服务器.在Windows下安装Tomcat服务器的方式有两种,一种是直接安装,一种是绿色版,解压后就可以直接使用的这篇博客为大家介绍第二种方式 首先从http://download.csdn.net/detail/u010105970/9493219中下载Tomcat服务器第一步将Tomcat服务器的压缩包放在D:\develo

Windows下Apache+Tomcat实现应用集群

Windows下Apache+Tomcat实现应用集群1 环境依赖:windows.jdk1.6.Apache2.2.tomcat6.02 Jdk1.6安装2.1 略3 安装Apache(2.2.27)3.1 下载:从Apache官网http://httpd.apache.org/download.cgi下载httpd-2.2.25-win32-x86-openssl-0.9.8y.msi:3.2 安装:双击上一步下载的安装程序,持续下一步直到完成:安装向导成功完成,左面右下角托盘中会出现Apa

Windows下Apache Tomcat?的下载安装和使用

本文将给出在windows下Apache Tomcat的下载安装和使用的简易教程. 前往Tomcat的官网http://tomcat.apache.org/.如下图所示: 在上图左侧红色方框中选择版本,例如,我们点击Tomcat 9,进入以下页面. 我们以windows为例,选择下载相应windows版本的Tomcat 9, 点击文件下载,得到zip文件,如下图所示: 将文件解压至某个文件夹,注意解压路径中不要有中文和空格.例如,解压至E盘下, 下面,来稍微解释一下Tomcat下各个文件及文件夹

windows下配置tomcat服务器的jvm内存大小的两种方式

难得遇到一次java堆内存溢出(心里想着,终于可以来一次jvm性能优化了$$) 先看下报错信息, java.lang.OutOfMemoryError: GC overhead limit exceeded 错误就是发出了这样的信号: 执行垃圾收集的时间比例太大, 有效的运算量太小. 默认情况下, 如果GC花费的时间超过 98%, 并且GC回收的内存少于 2%, JVM就会抛出这个错误. 造成这个问题的原因可能是项目里某个地方定义的太多的map,list对象,或者一次从数据库中查询的数据量过大.

windows下注册tomcat服务以及设置jvm参数

注册服务: 1 >service.bat install 删除服务: 1 service.bat remove 注:需使用对应的版本,linux版本没有service.bat ,tomcat.exe ,tomcat*w.exe Windows下调整Tomcat启动参数 Tomcat默认可以使用的内存为128MB,对于访问数比较多.比较吃内存的应用来说,这是不够的.我们可以通过调整Java虚拟机的启动参数来增加Tomcat可使用的内存. 下面就是众所周知的两个参数-Xms<size>   

【Tomcat】 windows下注册tomcat服务以及设置jvm参数

注册服务: 1 >cd /d D:\Java\tomcat-7.0.57-Css\bin //进入目录 1 >service.bat install  //注册服务,同理删除服务为 remove  删除服务: 1 sc delete "服务名" //这是通用的删除方法 注:需使用对应的版本,linux版本没有service.bat ,tomcat.exe ,tomcat*w.exe 参数调整 Windows下调整Tomcat启动参数  一.命令窗口输入 D:\Java\to

eclipse 下启动tomcat错误

启用tomcat时报错. FATAL ERROR in native method: JDWP No transports initialized, jvmtiError=JVMTI_ERROR_INTERNAL(113) ERROR: transport error 202: gethostbyname: unknown host ["transport.c",L41] ERROR: JDWP Transport dt_socket failed to initialize, TRA

eclipse下启动tomcat出现Setting property &#39;source&#39; to &#39;org.eclipse.jst.jee.server: &#39;错误的解决办法

在eclipse中启动tomcat时出现Setting property 'source' to 'org.eclipse.jst.jee.server:你的站点名'   did not find a matching property错误 解决办法: 1.在server控制台内,在服务器上点右键--属性 2.general选项卡中点switch location 这时,location变为:/servers/tomcat6.0 server at localhost.server 3.在pro