添加日志文件

添加日志文件
1、resources下面添加logback-spring.xml文件,内容如下

<?xml version="1.0" encoding="UTF-8"?>
<configuration  scan="true" scanPeriod="10 seconds">

    <contextName>logback</contextName>


    <!-- 格式化输出:%date表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度 %msg:日志消息,%n是换行符-->
    <property name="LOG_PATTERN" value="%date{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n" />

    <!-- 定义日志存储的路径,不要配置相对路径 -->
    <property name="FILE_PATH" value="D:/dingding/raclelog/spring-log.%d{yyyy-MM-dd}.%i.log" />

    <!-- 控制台输出日志 -->
    <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
        <!-- 日志级别过滤INFO以下 -->
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>INFO</level>
        </filter>
        <encoder>
            <!-- 按照上面配置的LOG_PATTERN来打印日志 -->
            <pattern>${LOG_PATTERN}</pattern>
        </encoder>
    </appender>

    <!--每天生成一个日志文件,保存30天的日志文件。rollingFile用来切分文件的 -->
    <appender name="rollingFile" class="ch.qos.logback.core.rolling.RollingFileAppender">

        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">

            <fileNamePattern>${FILE_PATH}</fileNamePattern>

            <!-- keep 15 days' worth of history -->
            <maxHistory>30</maxHistory>

            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <!-- 日志文件的最大大小 -->
                <maxFileSize>2MB</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>

            <!-- 超出删除老文件 -->
            <totalSizeCap>1GB</totalSizeCap>
        </rollingPolicy>

        <encoder>
            <pattern>${LOG_PATTERN}</pattern>
        </encoder>
    </appender>

    <!-- project default level -->
    <logger name="net.sh.rgface.serive" level="ERROR" />

    <!-- 日志输出级别 -->
    <root level="INFO">
        <appender-ref ref="console" />
        <appender-ref ref="rollingFile" />
    </root>
</configuration>

2、在application.yml下指定日志文件路径

logging:
  config: classpath:logback-spring.xml
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
添加日志文件大小和文件数量的限制,可以使用spdlog的Rotating File Sink。这个Sink可以根据文件大小和数量自动轮换日志文件。 以下是一个示例代码,演示如何使用Rotating File Sink记录日志: ```c++ #include <spdlog/spdlog.h> #include <spdlog/sinks/rotating_file_sink.h> class Logger { public: static Logger& instance() { static Logger logger; return logger; } template<typename... Args> void info(const char* fmt, const Args&... args) { m_logger->info(fmt, args...); } template<typename... Args> void warn(const char* fmt, const Args&... args) { m_logger->warn(fmt, args...); } template<typename... Args> void error(const char* fmt, const Args&... args) { m_logger->error(fmt, args...); } private: std::shared_ptr<spdlog::logger> m_logger; Logger() { // 创建Rotating File Sink,限制单个日志文件大小为10MB,最多保留5个日志文件 auto file_sink = std::make_shared<spdlog::sinks::rotating_file_sink_mt>("log", 10 * 1024 * 1024, 5); // 创建logger,并添加Rotating File Sink std::vector<spdlog::sink_ptr> sinks; sinks.push_back(file_sink); m_logger = std::make_shared<spdlog::logger>("logger", begin(sinks), end(sinks)); // 设置logger的格式化方式和日志级别 spdlog::set_pattern("[%Y-%m-%d %H:%M:%S.%e] [%^%l%$] %v"); m_logger->set_level(spdlog::level::debug); } }; int main() { // 使用Logger类记录日志 Logger::instance().info("Hello, {}!", "world"); Logger::instance().warn("Warning: {} is empty!", "file"); Logger::instance().error("Error: {} not found!", "config"); return 0; } ``` 在这个示例代码中,我们首先创建了一个Rotating File Sink,限制单个日志文件大小为10MB,最多保留5个日志文件。然后,我们创建了一个logger,并添加了这个Rotating File Sink。最后,我们设置了logger的格式化方式和日志级别。 在main函数中,我们通过Logger::instance()方法获取Logger类的单例对象,然后调用其方法记录日志。这些日志将被写入到log文件中,当log文件大小超过10MB时,将自动创建一个新的日志文件,并删除最旧的日志文件,以保留最多5个日志文件

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

未来悦,事享成

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值