logback日志丢失的情况之一
在游戏服务器上线之后,会记录很多统计日志,这些日志是第三方需要的数据,通过linux 的 rsync方式同步给第三方。日志规则 每十分钟会创建一个日志文件。然后后台有一个rsync进程,每隔十分钟向第三方服务器同步一次日志文件。测试的时候没有问题,但是上线之后,发现在整点的时候,比如3:30,3:50的时候,日志文件只有前几秒的数据。经过分析,在这个时候发生了rsync同步的操作,同步操作之后,日志就再也写不进去了。
解决方法是,把产生日志的时间和同步的时间错开,比如九分钟产生一个日志文件,十分钟同步一次。而且把当前写入的日志文件不要同步,只同步已经不再写的日志文件。logback的配置如下:
<appender name="Stat_log"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.home}/logs/stat/stat.log</file> <rollingPolicy
class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- daily rollover -->
<fileNamePattern>${log.home}/logs/stat/stat_%d{yyyyMMddHHmm}.json
</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy
class="MyTimeBasedFileNamingAndTriggeringPolicy">
<multiple>10</multiple>
</timeBasedFileNamingAndTriggeringPolicy>
<maxHistory>72000</maxHistory>
</rollingPolicy> <encoder>
<pattern> %msg%n
</pattern>
</encoder>
</appender>
配置中MyTimeBasedFileNamingAndTriggeringPolicy是自定义 的一个策略类,详细见:https://www.cnblogs.com/wgslucky/p/10071791.html
这样配置,当前写入的日志文件是stat.log,而不再写入的文件是stat_时间.json的文件。同步的时候只同步.json的文件即可。

logback日志丢失的情况之一的更多相关文章
- SpringBoot系列——Logback日志,输出到文件以及实时输出到web页面
前言 SpringBoot对所有内部日志使用通用日志记录,但保留底层日志实现.为Java Util Logging.Log4J2和Logback提供了默认配置.在不同的情况下,日志记录器都预先配置为使 ...
- ASP.NET Session丢失的情况
正常操作情况下会有ASP.NET Session丢失的情况出现.因为程序是在不停的被操作,排除Session超时的可能.另外,Session超时时间被设定成60分钟,不会这么快就超时的. 现在我就把原 ...
- 在SpringBoot中添加Logback日志处理
前言 SpringBoot项目中在官方文档中说明,默认已经依赖了一些日志框架.而其中推荐使用的就是Logback,所以这一次我将在我的模版中加入Logback日志的配置,说明一下,SpringBoot ...
- 【SpringBoot】Logback日志框架介绍和SpringBoot整合实战
========================11.Logback日志框架介绍和SpringBoot整合实战 2节课================================ 1.新日志框架L ...
- logback日志异步打印
最近碰到一个问题:客户的服务器程序偶尔出现请求响应过慢的情况,通过查看日志发现RSA验证签名的代码执行超过20秒,而正常情况下只需要16毫秒. RSA证书是服务器启动就加载好的,不存在读文件慢的问题. ...
- springboot+logback日志输出企业实践(下)
目录 1.引言 2. 输出 logback 状态数据 3. logback 异步输出日志 3.1 异步输出配置 3.2 异步输出原理 4. springboot 多环境下 logback 配置 5. ...
- 【使用篇二】SpringBoot的日志体系及如何开启logback日志(15)
抄自:https://blog.csdn.net/liujun03/article/details/82684209 Java应用中,日志一般分为以下5个级别(从高到低): ERROR 错误信息 WA ...
- OpenSIPS 2.4.2 高并发下,日志丢失怎么办
问题年年有,今年特别多.最近公司对呼叫中心平台做了大幅度重构,基于OpenSIPS实现的会话管理服务,在高并发压测过程中,发现OpenSIPS的日志居然出现丢失的情况,简直让我食不知味,困惑不已. ...
- SpringBoot整合Logback日志框架配置全解析
目录 本篇要点 一.Logback日志框架介绍 二.SpringBoot与Logback 1.默认日志格式 2.控制台输出 3.文件输出 4.日志级别 5.日志组 6.自定义log配置 三.logba ...
随机推荐
- python 爬虫与数据可视化--爬虫基础知识
一.python中的模块 模块的安装:pip install 模块名 导入模块与函数:import requests . from pymongo import MongoClient json模块的 ...
- (二)文档请求不同源之window.name跨域
一.基本原理 window.name不是一个普通的全局变量,而是当前窗口的名字.这里要注意的是每个iframe都有包裹它的window,而这个window 是top window的子窗口,而它自然也有 ...
- WPF:通过名字找控件
var plotBorder = (Border)FindName(string.Format("PlotBorder{0}", i))
- 动态规划——Burst Ballons
题意:给定n个气球.每次你可以打破一个,打破第i个,那么你会获得nums[left] * nums[i] * nums[right]个积分. (nums[-1] = nums[n] = 1)求你可以获 ...
- vscode插件安装失败的解决方案
在vscode中点击对应插件的install按钮安装,安装失败,软件提示手动安装(manually install). 手动下载vsix安装包,然后点击install from VSIX...,选择v ...
- ValidateCode源码
ValidataCode.java: package com.itcast; /** * @author 大汉 */ import java.awt.Color; import java.awt.Fo ...
- js数组指定位置添加删除
示例参考:http://www.w3school.com.cn/jsref/jsref_splice.asp
- 单调栈+前缀和 || Nowcoder || 牛客小白月赛13 || 小A的柱状图
题面:小A的柱状图 题解:无 代码: #include<cstdio> #include<cstring> #include<iostream> #define l ...
- 【Python基础】lpthw - Exercise 44 继承与组合
一.继承 原则:大部分使用继承的场合都可以用组合取代或者简化,而多重继承则需要不惜一切的避免. 1. 什么是继承 继承:用于指明一个类的大部分或者全部功能都是从一个父类获得的.此时,父类的实例的所有动 ...
- OO第二次博客作业--第二单元总结
第一次作业 1. 设计策略 第一次作业,一共三个线程,主线程.输入线程和电梯线程,有一个共享对象--调度器(队列). 调度的策略大多集中到了电梯里,调度器反而只剩下一个队列. 2. 基于度量的分析 类 ...