Java 项目 服务器 日志配置

这篇具有很好参考价值的文章主要介绍了Java 项目 服务器 日志配置。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


最近 在搞一个0-1的项目 就想把 服务器日志配置 记录一下
我们使用的是 单体微服务项目
首先你需要一个xml

<?xml version="1.0" encoding="UTF-8"?>
<configuration>

    <!--定义日志存放的位置-->
    <springProperty scope="context" name="logPath" source="log.path" defaultValue="logs"/>
    <springProperty scope="context" name="logMaxFileSize" source="log.maxFileSize" defaultValue="50MB"/>
    <springProperty scope="context" name="logMaxHistory" source="log.maxHistory" defaultValue="45"/>
    <springProperty scope="context" name="totalLogSizeCap" source="log.totalLogSizeCap" defaultValue="20GB"/>
    <springProperty scope="context" name="errorLogSizeCap" source="log.errorLogSizeCap" defaultValue="5GB"/>

    <!-- ****************************************************************************************** -->
    <!-- ****************************** dev,uat环境在控制台打印日志 ************************************ -->
    <!-- ****************************************************************************************** -->
    <springProfile name="dev | uat | ksh | ysh">

        <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
            <encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
                <layout class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.TraceIdPatternLogbackLayout">
                    <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%X{tid}] [%thread] %-5level %logger Line:%-3L - %msg%n</pattern>
                    <!--<charset>utf-8</charset>-->
                </layout>
            </encoder>
        </appender>

        <root level="info">
            <appender-ref ref="STDOUT"/>
        </root>

    </springProfile>

    <!-- ****************************************************************************************** -->
    <!-- ********************** 非dev环境日志记录在文件 **************************** -->
    <!-- ****************************************************************************************** -->
    <!-- 日志记录器,日期滚动记录 -->
    <springProfile name="dev">
        <appender name="FILE_ERROR" class="ch.qos.logback.core.rolling.RollingFileAppender">
            <!-- 正在记录的日志文件的路径及文件名 -->
            <file>${logPath}/log_error.log</file>
            <!-- 日志记录器的滚动策略,按日期,按大小记录 -->
            <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
                <!-- 归档的日志文件的路径,例如今天是2018-11-21日志,当前写的日志文件路径为file节点指定,可以将此文件与file指定文件路径设置为不同路径,从而将当前日志文件或归档日志文件置不同的目录。
                而2013-12-21的日志文件在由fileNamePattern指定。%d{yyyy-MM-dd}指定日期格式,%i指定索引 -->
                <fileNamePattern>${logPath}/error/log-error-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
                <!-- 除按日志记录之外,还配置了日志文件不能超过50MB,若超过50MB,日志文件会以索引0开始,
                命名日志文件,例如log-error-2018-11-21.0.log -->
                <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                    <maxFileSize>${logMaxFileSize}</maxFileSize>
                </timeBasedFileNamingAndTriggeringPolicy>
                <maxHistory>${logMaxHistory}</maxHistory>
                <totalSizeCap>${errorLogSizeCap}</totalSizeCap>
                <cleanHistoryOnStart>true</cleanHistoryOnStart>
            </rollingPolicy>
            <!-- 追加方式记录日志 -->
            <append>true</append>
            <!-- 日志文件的格式 -->
            <encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
                <layout class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.TraceIdPatternLogbackLayout">
                    <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%tid] [%thread] %-5level %logger Line:%-3L - %msg%n</pattern>
                    <!--<charset>utf-8</charset>-->
                </layout>
            </encoder>
            <!-- 此日志文件只记录error级别的 -->
            <filter class="ch.qos.logback.classic.filter.LevelFilter">
                <level>error</level>
                <onMatch>ACCEPT</onMatch>
                <onMismatch>DENY</onMismatch>
            </filter>
        </appender>

        <!-- 日志记录器,日期滚动记录 -->
        <appender name="FILE_ALL" class="ch.qos.logback.core.rolling.RollingFileAppender">
            <!-- 正在记录的日志文件的路径及文件名 -->
            <file>${logPath}/log_total.log</file>
            <!-- 日志记录器的滚动策略,按日期,按大小记录 -->
            <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
                <!-- 归档的日志文件的路径,例如今天是2013-12-21日志,当前写的日志文件路径为file节点指定,可以将此文件与file指定文件路径设置为不同路径,从而将当前日志文件或归档日志文件置不同的目录。
                而2013-12-21的日志文件在由fileNamePattern指定。%d{yyyy-MM-dd}指定日期格式,%i指定索引 -->
                <fileNamePattern>${logPath}/total/log-total-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
                <!-- 除按日志记录之外,还配置了日志文件不能超过50MB,若超过50MB,日志文件会以索引0开始,
                命名日志文件,例如log-error-2013-12-21.0.log -->
                <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                    <maxFileSize>${logMaxFileSize}</maxFileSize>
                </timeBasedFileNamingAndTriggeringPolicy>
                <maxHistory>${logMaxHistory}</maxHistory>
                <totalSizeCap>${totalLogSizeCap}</totalSizeCap>
                <cleanHistoryOnStart>true</cleanHistoryOnStart>
            </rollingPolicy>
            <!-- 追加方式记录日志 -->
            <append>true</append>
            <!-- 日志文件的格式 -->
            <encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
                <layout class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.TraceIdPatternLogbackLayout">
                    <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%tid] [%thread] %-5level %logger Line:%-3L - %msg%n</pattern>
                    <!--<charset>utf-8</charset>-->
                </layout>
            </encoder>
        </appender>

        <root level="info">
            <appender-ref ref="FILE_ERROR"/>
            <appender-ref ref="FILE_ALL"/>
        </root>
    </springProfile>

</configuration>

然后就是 pom文件里面添加上对应的依赖

 <exclusions>
                <exclusion>
                    <groupId>org.slf4j</groupId>
                    <artifactId>slf4j-simple</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.slf4j</groupId>
                    <artifactId>slf4j-api</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.slf4j</groupId>
                    <artifactId>slf4j-nop</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.slf4j</groupId>
                    <artifactId>slf4j-log4j12</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.slf4j</groupId>
                    <artifactId>slf4j-jdk14</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>ch.qos.logback</groupId>
                    <artifactId>logback-classic</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-logging</artifactId>
                </exclusion>
            </exclusions>

然后 yml 里面

logging.config=classpath:logback-spring.xml
logging.level.root=info
logging.level.com=debug
logging.level.org.springframework.boot=ERROR

log.path=/Users/meiyifan/code/logs
log.maxFileSize=50MB
log.maxHistory=45

log.totalLogSizeCap=20GB
log.errorLogSizeCap=5GB
systemLog.enable=true
systemLogretentiondays=30

然后再服务器对应的创建 存储日志的文件 logs

 文章来源地址https://www.toymoban.com/news/detail-730646.html

到了这里,关于Java 项目 服务器 日志配置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • IDEA搭建Java Web项目及添加Web框架支持和配置Tomcat服务器(2023最新版)

     File — New — Project Java — Project SDK中选择自己的版本(这里采用1.8) —点击Next 此项不选 直接点击Next 设置项目名称之后 点击 Finish 鼠标右键项目名 — Add Frameworks Support   勾选第一项 Web Application — 点击 OK 出现web目录后即为Web框架支持添加成功   点击Add Configruation 点击添加

    2024年02月13日
    浏览(66)
  • ubuntu服务器上java和tomcat等服务的日志时间不正确

    新生产环境部署的java和tomcat服务的日志时间不正确。与正确时间差了8个小时。影响正常的业务。 1、服务日志时间和服务器时间差了8个小时,联想到是时区的问题。 2、查看ubuntu系统的时区设置: UTC时间就是世界协调时间(Coordinated Universal Time) 时间。 1、把UTC时间改成北京时间

    2024年02月05日
    浏览(41)
  • 华为云云耀云服务器L实例评测|安装Java8环境 & 配置环境变量 & spring项目部署 &【!】存在问题未解决

    1.华为云服务器安装Java8环境配置; 2.上传jar包,运行jar包,控制台开放端口; 3.访问失败以及问题排查,未解决【!】 当前内存状态 查看当前路径 让配置生效 查看文件 运行打包好的jar包 http://124.70.138.34/doc.html 1.进程kill -9 运行窗口退出 2.ctrl c退出 开放8080端口 运行jar包,也

    2024年02月09日
    浏览(45)
  • JAVA项目在服务器部署过程

    推荐第一种 springboot项目中手动打包 打包依赖 他包含了 但建议还是自己写一个 build 标签 build详细配置参考文章https://www.cnblogs.com/whx7762/p/7911890.html 打包 jar包位置 用winSCP上传到服务器/data/tmp文件里 注意 :maven中仍需要向上面一样的配置 1.从git仓库clone下来最新代码。 2.在本地

    2024年02月05日
    浏览(33)
  • 服务器上进行java项目部署

    服务器上进行java项目部署,自己的一点总结, 一起学习,一起进步,一起成长! 【yzh2022.9】 服务器需要注意的是,【jdk、tomcat】我们不仅需要打开防火墙,同时如果是阿里云的服务器,安全组【docker..】也必须开放端口号才能进行访问 防火墙端口开了并且阿里云安全组也开

    2024年02月09日
    浏览(31)
  • java-----web项目部署到新服务器以及服务器的部署

    目录 一、服务器安装jdk1.8  二、安装mysql5.7 2.1下载mysql  2.2修改root账号密码 2.3设置远程登录 三、项目的部署 3.1导入数据库 3.2将项目打成jar包 3.3项目上传 服务器部署项目的方式,本次以打成jar包的形式讲解(以springboot项目为例) 首先服务器要有jdk1.8和mysql5.6及以上的版本

    2024年02月06日
    浏览(39)
  • 如何一键部署本地Java项目到服务器上

    我开发了一个Java代码,现在想部署到服务器上,当然可以使用Jenkins部署,但是Jenkins配置和维护成本比较高,所以我今天分享的是轻量级的一键部署脚本 演示:本地Window的Java代码 - Vmware虚拟机Centos7上 如果你的项目结构不同,可以根据项目结构自行调整 1、对项目进行Maven编

    2024年01月20日
    浏览(41)
  • JAVA-服务器搭建-创建web后端项目

       

    2024年04月22日
    浏览(57)
  • 【java】项目部署liunx服务器的简单步骤

    在Linux服务器上部署Java项目通常涉及到一系列步骤,下面是一个基本的部署流程,具体步骤可能会根据项目和服务器环境的不同而有所调整: 1. 准备工作: 1.1 安装Java环境: 在Linux服务器上安装Java运行环境,你可以选择OpenJDK或者Oracle JDK。使用包管理工具如 apt (Debian/Ubunt

    2024年02月03日
    浏览(66)
  • Java调用python项目(传参、不传参、服务器)

    一、无参数调用举例 创建一个python文件,写入如下代码: 创建一个Java文件 编写入如下代码(代码的意思已经添加注释) 3、结果如下说明运行成功 二、有参数时调用举例 1、创建Java文件并写入代码 2、创建python文件并写入代码 运行结果如下说明调用成功! 三、将Python脚本

    2024年02月04日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包