精华内容
下载资源
问答
  • mysql日志文件

    千次阅读 2021-01-18 21:10:06
    日志文件类型MySQL有几个不同的日志文件,可以帮助你找出mysqld内部发生的事情:日志文件记入文件中的信息类型错误日志记录启动、运行或停止mysqld时出现的问题。查询日志记录建立的客户端连接和执行的语句。更新...

    日志文件类型

    MySQL有几个不同的日志文件,可以帮助你找出mysqld内部发生的事情:

    日志文件

    记入文件中的信息类型

    错误日志

    记录启动、运行或停止mysqld时出现的问题。

    查询日志

    记录建立的客户端连接和执行的语句。

    更新日志

    记录更改数据的语句。不赞成使用该日志。

    二进制日志

    记录所有更改数据的语句。还用于复制。

    慢日志

    记录所有执行时间超过long_query_time秒的所有查询或不使用索引的查询。

    默认情况下,所有日志创建于mysqld数据目录中。通过刷新日志,你可以强制 mysqld来关闭和重新打开日志文件(或者在某些情况下切换到一个新的日志)。当你执行一个FLUSH LOGS语句或执行mysqladmin flush-logs或mysqladmin refresh时,出现日志刷新。

    错误日志

    错误日志文件包含了当mysqld启动和停止时,以及服务器在运行过程中发生任何严重错误时的相关信息。

    如果mysqld莫名其妙地死掉并且mysqld_safe需要重新启动它,mysqld_safe在错误日志中写入一条restarted mysqld消息。如果mysqld注意到需要自动检查或着修复一个表,则错误日志中写入一条消息。

    在一些操作系统中,如果mysqld死掉,错误日志包含堆栈跟踪信息。跟踪信息可以用来确定mysqld死掉的地方。

    可以用--log-error[=file_name]选项来指定mysqld保存错误日志文件的位置。如果没有给定file_name值,mysqld使用错误日志名host_name.err并在数据目录中写入日志文件。如果你执行FLUSH LOGS,错误日志用-old重新命名后缀并且mysqld创建一个新的空日志文件。(如果未给出--log-error选项,则不会重新命名)。

    如果不指定--log-error,或者(在Windows中)如果你使用--console选项,错误被写入标准错误输出stderr。通常标准输出为你的终端。

    通用查询日志

    如果你想要知道mysqld内部发生了什么,你应该用--log[=file_name]或-l [file_name]选项启动它。如果没有给定file_name的值, 默认名是host_name.log。所有连接和语句被记录到日志文件。当你怀疑在客户端发生了错误并想确切地知道该客户端发送给mysqld的语句时,该日志可能非常有用。

    mysqld按照它接收的顺序记录语句到查询日志。这可能与执行的顺序不同。这与更新日志和二进制日志不同,它们在查询执行后,但是任何一个锁释放之前记录日志。(查询日志还包含所有语句,而二进制日志不包含只查询数据的语句)。

    服务器重新启动和日志刷新不会产生新的一般查询日志文件(尽管刷新关闭并重新打开一般查询日志文件)。在Unix中,你可以通过下面的命令重新命名文件并创建一个新文件:

    shell> mv hostname.log hostname-old.log

    shell> mysqladmin flush-logs

    shell> cp hostname-old.log to-backup-directory

    shell> rm hostname-old.log

    慢速查询日志

    用--log-slow-queries[=file_name]选项启动时,mysqld写一个包含所有执行时间超过long_query_time秒的SQL语句的日志文件。获得初使表锁定的时间不算作执行时间。

    如果没有给出file_name值, 默认未主机名,后缀为-slow.log。如果给出了文件名,但不是绝对路径名,文件则写入数据目录。

    语句执行完并且所有锁释放后记入慢查询日志。记录顺序可以与执行顺序不相同。

    慢查询日志可以用来找到执行时间长的查询,可以用于优化。但是,检查又长又慢的查询日志会很困难。要想容易些,你可以使用mysqldumpslow命令获得日志中显示的查询摘要来处理慢查询日志。

    在MySQL 5.1的慢查询日志中,不使用索引的慢查询同使用索引的查询一样记录。要想防止不使用索引的慢查询记入慢查询日志,使用--log-short-format选项。

    在MySQL 5.1中,通过--log-slow-admin-statements服务器选项,你可以请求将慢管理语句,例如OPTIMIZE TABLE、ANALYZE TABLE和 ALTER TABLE写入慢查询日志。

    用查询缓存处理的查询不加到慢查询日志中,因为表有零行或一行而不能从索引中受益的查询也不写入慢查询日志。

    二进制日志

    二进制文件介绍

    二进制日志以一种更有效的格式,并且是事务安全的方式包含更新日志中可用的所有信息。

    二进制日志包含了所有更新了数据或者已经潜在更新了数据(例如,没有匹配任何行的一个DELETE)的所有语句。语句以“事件”的形式保存,它描述数据更改。

    备注:二进制日志已经代替了老的更新日志,更新日志在MySQL 5.1中不再使用。

    二进制文件的行为

    二进制日志还包含关于每个更新数据库的语句的执行时间信息。它不包含没有修改任何数据的语句。如果你想要记录所有语句(例如,为了识别有问题的查询),你应使用一般查询日志。

    二进制日志的主要目的是在恢复使能够最大可能地更新数据库,因为二进制日志包含备份后进行的所有更新。

    二进制日志还用于在主复制服务器上记录所有将发送给从服务器的语句。

    运行服务器时若启用二进制日志则性能大约慢1%。但是,二进制日志的好处,即用于恢复并允许设置复制超过了这个小小的性能损失。

    二进制文件的文件路径

    当用--log-bin[=file_name]选项启动时,mysqld写入包含所有更新数据的SQL命令的日志文件。如果未给出file_name值, 默认名为-bin后面所跟的主机名。如果给出了文件名,但没有包含路径,则文件被写入数据目录。建议指定一个文件名.

    如果你在日志名中提供了扩展名(例如,--log-bin=file_name.extension),则扩展名被悄悄除掉并忽略。

    mysqld在每个二进制日志名后面添加一个数字扩展名。每次你启动服务器或刷新日志时该数字则增加。如果当前的日志大小达到max_binlog_size,还会自动创建新的二进制日志。如果你正使用大的事务,二进制日志还会超过max_binlog_size:事务全写入一个二进制日志中,绝对不要写入不同的二进制日志中。

    为了能够知道还使用了哪个不同的二进制日志文件,mysqld还创建一个二进制日志索引文件,包含所有使用的二进制日志文件的文件名。默认情况下与二进制日志文件的文件名相同,扩展名为'.index'。你可以用--log-bin-index[=file_name]选项更改二进制日志索引文件的文件名。当mysqld在运行时,不应手动编辑该文件;如果这样做将会使mysqld变得混乱。

    二进制日志选项

    可以使用下面的mysqld选项来影响记录到二进制日志知的内容。又见选项后面的讨论。

    ·--binlog-do-db=db_name

    告诉主服务器,如果当前的数据库(即USE选定的数据库)是db_name,应将更新记录到二进制日志中。其它所有没有明显指定的数据库被忽略。如果使用该选项,你应确保只对当前的数据库进行更新。

    对于CREATE DATABASE、ALTER DATABASE和DROP DATABASE语句,有一个例外,即通过操作的数据库来决定是否应记录语句,而不是用当前的数据库。

    一个不能按照期望执行的例子:如果用binlog-do-db=sales启动服务器,并且执行USE prices; UPDATE sales.january SET amount=amount+1000;,该语句不写入二进制日志。

    ·--binlog-ignore-db=db_name

    告诉主服务器,如果当前的数据库(即USE选定的数据库)是db_name,不应将更新保存到二进制日志中。如果你使用该选项,你应确保只对当前的数据库进行更新。

    一个不能按照你期望的执行的例子:如果服务器用binlog-ignore-db=sales启动,并且执行USE prices; UPDATE sales.january SET amount=amount+1000;,该语句不写入二进制日志。

    类似于--binlog-do-db,对于CREATE DATABASE、ALTER DATABASE和DROP DATABASE语句,有一个例外,即通过操作的数据库来决定是否应记录语句,而不是用当前的数据库。

    要想记录或忽视多个数据库,使用多个选项,为每个数据库指定相应的选项。

    服务器根据下面的规则对选项进行评估,以便将更新记录到二进制日志中或忽视。请注意对于CREATE/ALTER/DROP DATABASE语句有一个例外。在这些情况下,根据以下规则,所创建、修改或删除的数据库将代替当前的数据库。

    1.是否有binlog-do-db或binlog-ignore-db规则?

    ·没有:将语句写入二进制日志并退出。

    ·有:执行下一步。

    2.有一些规则(binlog-do-db或binlog-ignore-db或二者都有)。当前有一个数据库(USE是否选择了数据库?)?

    ·没有:不要写入语句,并退出。

    ·有:执行下一步。

    3.有当前的数据库。是否有binlog-do-db规则?

    ·有:当前的数据库是否匹配binlog-do-db规则?

    o有:写入语句并退出。

    o没有:不要写入语句,退出。

    ·No:执行下一步。

    4.有一些binlog-ignore-db规则。当前的数据库是否匹配binlog-ignore-db规则?

    ·有:不要写入语句,并退出。

    ·没有:写入查询并退出。

    例如,只用binlog-do-db=sales运行的服务器不将当前数据库不为sales的语句写入二进制日志(换句话说,binlog-do-db有时可以表示“忽视其它数据库”)。

    如果你正进行复制,应确保没有从服务器在使用旧的二进制日志文件,方可删除它们。

    展开全文
  • linux 日志文件查看

    2021-05-09 04:24:03
    1. tail -n 10 -f **.log显示日志文件尾部10行日志,当有新日志产生,会追加显示。2. tail命令现ff.sh中有如下信息:[root@hxjk_test_backend_services test]# cat ff.shtail -n 5 ff.sh显示文件后5行日志和tail -n ...

    记录下日志中常用的日志查看命令。

    1.  tail -n 10 -f  **.log

    显示日志文件尾部10行日志,当有新日志产生,会追加显示。

    2. tail 命令

    现ff.sh中有如下信息:

    [root@hxjk_test_backend_services test]# cat ff.sh

    tail -n 5 ff.sh 显示文件后5行日志和tail -n  -5 ff.sh效果一样

    [root@hxjk_test_backend_services test]# tail -n 5 ff.sh

    15

    16

    17

    18

    19

    [root@hxjk_test_backend_services test]# tail -n -5 ff.sh

    15

    16

    17

    18

    19

    [root@hxjk_test_backend_services test]#

    tail -n  +5 ff.sh 显示的是第5行开始到底部的日志

    [root@hxjk_test_backend_services test]# tail -n + ff.sh

    [root@hxjk_test_backend_services test]#

    3. head 命令

    head -n 5 ff.sh 显示前5行日志 和head -n +5 ff.sh 效果一样

    [root@hxjk_test_backend_services test]# head -n ff.sh

    [root@hxjk_test_backend_services test]# head -n + ff.sh

    [root@hxjk_test_backend_services test]#

    head -n -5 ff.sh 显示后5行到头的所有信息

    [root@hxjk_test_backend_services test]# head -n - ff.sh

    [root@hxjk_test_backend_services test]#

    4. cat tail head 命令相结合

    现在若有显示第10行前后5条数据,可如下查询

    [root@hxjk_test_backend_services test]# cat -n ff.sh|tail -n +|head -n

    [root@hxjk_test_backend_services test]#

    所以在实际使用中若要查询日志文件中报错信息时,可先通过grep查询出报错信息的行号,再通过上诉命令查询。

    Linux日志文件查看和搜查命令(错误日志排查定位)

    一.cat命令 cat 命令用于连接文件并打印到标准输出设备上,主要用来查看文件内容,创建文件,文件合并,追加文件内容等功能. 语法格式 cat [-AbeEnstTuv] fileName 参数说明 ...

    linux日志文件

    linux日志文件 在系统运行正常的情况下学习了解这些不同的日志文件有助于你在遇到紧急情况时从容找出问题并加以解决. /var/log/messages — 包括整体系统信息,其中也包含系统启动期间的 ...

    Linux - 日志文件

    Linux日志文件绝大多数存放在/var/log目录,其中一些日志文件由应用程序创建,其他的则通过syslog来创建. Linux系统日志文件通过syslog守护程序在syslog套接字/dev/lo ...

    Linux - 日志文件简介

    Linux日志文件绝大多数存放在/var/log目录,其中一些日志文件由应用程序创建,其他的则通过syslog来创建. Linux系统日志文件通过syslog守护程序在syslog套接字/dev/lo ...

    位于/var/log目录下的20个Linux日志文件

    展开全文
  • linux日志文件

    2021-05-09 07:50:27
    下面我给大家介绍一下linux里面的日志文件:日志一般的服务都包括:访问日志和错误指示;访问日志一般记录服务的运行状态,服务执行了什么操作,都记录在访问日志中;而错误日志通过名字也可理解,到服务遇到错误时...

    下面我给大家介绍一下linux里面的日志文件:

    日志一般的服务都包括:访问日志和错误指示;访问日志一般记录服务的运行状态,服务执行了什么操作,都记录在访问日志中;而错误日志通过名字也可理解,到服务遇到错误时,就会把错误的日志记录在错误日志中。

    Windows

    像在windows里面我们需要查看日志需要从,“管理”目录下面找到事件查看器,而这些都属于在window日志查看器

    Linux

    首先我们要查看我们的linux里面是否存在sysklogd-1.4.1-44.e15

    这个软件包,也就是一些关于日志的一些文件,然后我们进行查看这个软件包

    像一些软件包里面带有d都是一些服务软件的包“sysklogd”

    其中里面有这两个软件包(1)/sbin/klogd是针对内核产生日志信息

    dmesg这个指令可以查看针对内核硬件的信息

    dmesg | grep -i cpu可以查看cpu的信息

    dmesg | grep -imem可以查看内存的信息

    dmesg | grep -ietho可以查看网卡的信息

    (2)/sbin/syslogd是针对系统的服务日志信息

    系统包括:我们平时安装的某些软件,网络设备等

    /sbin/syslogd会产生一个分类的文件而这个分类的文件就是/etc/syslong.conf我们打开这个文件会看到分类文件

    每一行表示一个规则,前一个是一个选择域后一个是动作域 *表示是每个人,动作域就表示我们需要把这些的信息发到哪里去

    选择里面包括应用和级别而动作包括文件每个人@主机名称或地址643fb6f4401d2b6d009684e242bb918d.png

    前面带(#)都是注释的意思

    不带注释的每一行前面的表示一种应用服务,后面可以跟它的级别,而在应用里面有身份验证计划任务某一种应服务内核打印邮件标志新闻安全用户在安全的情况下我们一般不用的

    .后面跟着级别最低debug info(提醒)  notice(注意),warning warn err error crit (严重)alert emerg panic由低到高级别

    我们先从第7行开始给大家说明一下:所有应用软件的大于等于info都要被记录下来,除了关于mail验证计划任务相关的都要寄到这个文件里面 /var/log/messages

    第10行 authpriv.*验证这些验证的信息都记录到/var/log/secure

    例:我从第四个终端进去,故意输错密码,这是再查看日志文件提示

    第13行邮件相关‘-’表示异步,表示等系统空闲了再把信息写到这个文件里面去

    第17行计划任务

    第20行所有严重的信息发个每一个人

    第23行 UUcp新闻的大于crit大于这个级别的都会存放到

    我给大家举个例子:我安装一个DHCP服务器

    2f5e35b78fdda84f984a8b40be7c67e6.png

    安装失败,在这个时候我们就可以通过查找日志文件来查看哪里安装错误

    18d81ea35cd95f6e4dfdec532f1458ea.png

    这个时候它提示我们,你这里多了一个“I:我们把这里删除

    06e502e9c584b5c334cb7fd60c961825.png

    日志文件还有许多的强大功能我给大家列举了一些:

    The facility is one of the followingkeywords: auth, authpriv, cron, daemon, kern, lpr,  mail,  mark, news,  security

    (same as auth), syslog, user, uucp and local0 through local7.  The keyword security should not be usedanymore and mark

    is only for internal use and therefore should not be used inapplications.  Anyway, you may want tospecify  and  redi-

    rect  these  messages here.  The facility specifies the subsystem thatproduced the message, i.e. all mail programs log

    with the mail facility (LOG_MAIL) if they log using syslog.

    # Store critical stuff incritical

    #

    *.=crit;kern.none            /var/adm/critical

    所有的除了内核相关的crit这个级别的都会寄到/var/adm/critical

    This will store all messages with the priority crit in the file/var/adm/critical, except for any kernel message.

    # Kernel messages are first, storedin the kernel

    # file, critical messages andhigher ones also go

    # to another host and to theconsole

    #

    kern.*                       /var/adm/kernel

    kern.crit                    @finlandia

    kern.crit                    /dev/console

    kern.info;kern.!err          /var/adm/kernel-info

    叹号是取反,也就是info到warning级别的会寄到

    The first rule direct any message that has the kernel facility to thefile /var/adm/kernel.

    The second statement directs all kernel messages of the priority critand higher to the remote host finlandia. This is

    useful,  because if the hostcrashes and the disks get irreparable errors you might not be able to read thestored mes-

    sages.  If they're on a remotehost, too, you still can try to find out the reason for the crash.

    The third rule directs these messages to the actual console, so theperson who works on the machine will get them, too.

    The  fourth line tells the syslogdto save all kernel messages that come with priorities from info up to warningin the

    file /var/adm/kernel-info. Everything from err and higher is excluded.

    # The tcp wrapper loggs withmail.info, we display

    # all the connections on tty12

    #

    mail.=info                   /dev/tty12

    This directs all messages that uses mail.info (in source LOG_MAIL |LOG_INFO) to /dev/tty12,  the  12th console.   For

    example the tcpwrapper tcpd(8) uses this as it's default.

    # Store all mail concerning stuffin a file

    #

    mail.*;mail.!=info           /var/adm/mail

    This pattern matches all messages that come with the mail facility,except for the info priority.  These willbe stored

    in the file /var/adm/mail.

    # Log all mail.info and news.infomessages to info

    #

    mail,news.=info              /var/adm/info

    This will extract all messages that come either  with  mail.info or  with  news.info and  store  them in  the  file

    /var/adm/info.

    展开全文
  • logback应该是目前最主流的日志框架了,在实际使用中经常遇到打印的日志文件不会自动删除,导致日志文件占有大量磁盘空间的问题。 本文主要介绍logback日志文件自动删除的实现机制。

    前言

    logback应该是目前最主流的日志框架了,在实际使用中经常遇到打印的日志文件不会自动删除,导致日志文件占有大量磁盘空间的问题。

    本文主要介绍logback日志文件自动删除的实现机制。


    一、官方文档介绍

    官方文档地址:logback

    1、ConsoleAppender

    说明:
    如果希望日志打印到控制台,需要配置ConsoleAppender控制台日志追加。

    <configuration>
      <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <!-- encoders are assigned the type
             ch.qos.logback.classic.encoder.PatternLayoutEncoder by default -->
        <encoder>
          <pattern>%-4relative [%thread] %-5level %logger{35} - %msg %n</pattern>
        </encoder>
      </appender>
    
      <root level="DEBUG">
        <appender-ref ref="STDOUT" />
      </root>
    </configuration>
    

    2、RollingFileAppender

    说明:
    如果希望打印生成的日志文件根据日志大小和时间自动滚动生成新的日志文件,需要配置RollingFileAppender滚动日志追加。滚动策略选择SizeAndTimeBasedRollingPolicy基于日志大小和时间滚动。

    下面的配置是限制每个文件最多100mb,保存30天的历史记录,日志总大小最多20gb。

     <configuration>
     <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
            <file>${LOG_FILE}</file>
            <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
                <!--日志文件输出的文件名-->
                <fileNamePattern>${LOG_FILE}-%d{yyyy-MM-dd}.%i.gz</fileNamePattern>
                <!--日志大小-->
                <maxFileSize>100MB</maxFileSize>
                <!--日志保留时长-->
                <maxHistory>30</maxHistory>
                <totalSizeCap>20GB</totalSizeCap>
                <cleanHistoryOnStart>true</cleanHistoryOnStart>
            </rollingPolicy>
            <encoder>
                <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-4relative [%thread] %-5level %logger{35} - %msg%n</pattern>
                <charset>utf8</charset>
            </encoder>
        </appender>
        
      <root level="DEBUG">
        <appender-ref ref="FILE" />
      </root>
      <configuration>
    

    参数说明:

    • file 生成的日志名称
    • rollingPolicy 滚动策略,这里采用的SizeAndTimeBasedRollingPolicy,基于日志文件大小和时间滚动。
    • fileNamePattern 定义翻转(归档)日志文件的名称。
      它的值应该包括文件的名称以及适当放置的% d 转换说明符。% d 转换说明符可能包含日期和时间模式。如果省略了日期和时间模式,则假定使用默认模式 yyyy-MM-dd。翻转周期是从 fileNamePattern 的值推断出来的。这里的滚动周期需要和maxHistory配合使用。
    • maxFileSize 单个日志文件的最大体积,到达最大体积后就会触发日志滚动操作,生成新的日志文件
    • maxHistory 要保存的归档文件的最大数量,以异步方式删除旧文件。例如,如果通过fileNamePattern中的%d{yyyy-MM}指定滚动周期为月度滚动,并将 maxHistory 设置为6,那么存档文件中超过6个月的文件将被删除。
    • totalSizeCap 控制所有归档日志文件的总大小。当超出总大小上限时,将异步删除最早的归档日志文件。设置totalSizeCap 属性还要求设置 maxHistory 属性。优先“最大历史”限制,其次是“总大小上限”的限制。
      按照实际业务情况配置 totalSizeCap ,可以有效避免占用过大的磁盘空间。
      比如你希望 maxHistory 保留7天日志文件,但是可能这7个文件总大小超出磁盘容量,所以可以通过 totalSizeCap 来控制总大小,这样系统会判断大于此值时进行自动覆盖。
      注意⚠️:单独配置totalSizeCap是没有意义的,一定要同时配置maxHistory属性,且大于0,才能实现超过总大小上限异步删除。
    • cleanHistoryOnStart 是否在应用启动的时候删除历史日志。
      如果设置为真,将在启动应用程序时执行档案删除。默认情况下,此属性设置为 false。归档日志移除通常在滚动期间执行。但是,有些应用程序的存活时间可能不够长,无法触发滚动。因此,对于如此短命的应用程序,删除存档可能永远没有机会执行。通过将 cleanHistoryOnStart 设置为 true,将在启动 appender 时执行档案删除。
    • encoder 控制输出日志的格式和编码。

    二、效果测试

    说明:为了测试效果,修改配置,
    通过fileNamePattern属性中的%d{yyyy-MM-dd_HH-mm}指定滚动周期为分钟。
    maxFileSize控制日志文件超过10kb就触发滚动。
    maxHistory属性结合fileNamePattern中解析出现的滚动周期,实现最多保留近3分钟的归档日志。
    totalSizeCap控制所有归档日志文件的总大小不超过20kb。

    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
            <file>${LOG_FILE}</file>
            <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
                <!--日志文件输出的文件名-->
                <fileNamePattern>${LOG_FILE}-%d{yyyy-MM-dd_HH-mm}.%i.gz</fileNamePattern>
                <!--日志大小-->
                <maxFileSize>10KB</maxFileSize>
                <!--日志保留时长-->
                <maxHistory>3</maxHistory>
                <totalSizeCap>20KB</totalSizeCap>
                <cleanHistoryOnStart>true</cleanHistoryOnStart>
            </rollingPolicy>
            <encoder>
                <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-4relative [%thread] %-5level %logger{35} - %msg%n</pattern>
                <charset>utf8</charset>
            </encoder>
        </appender>
    

    测试一:
    项目启动后,持续调用方法生成日志文件:
    在这里插入图片描述
    执行结果:
    归档日志(带时间后缀的这些滚动生成的日志文件)总大小超过20kb后,就会触发删除操作。
    说明totalSizeCap配置属性生效。

    测试二:
    间隔3分钟后,在调用方法生成日志。
    在这里插入图片描述
    执行结果:
    3分钟前的日志文件全部被删除,说明fileNamePattern和maxHistory配置最多保留近3分钟的归档日志生效。

    测试三:
    生成一批归档日志文件后,3分钟后重启项目,校验是否在项目启动是清理日志。
    这里为了验证结果的正确性,需要保证项目重启过程中生成的日志大小不超过maxFileSize,不触发日志滚动。

    项目启动生成日志:刚好9kb,没有触发滚动。
    在这里插入图片描述
    调用方法,生成日志文件:
    在这里插入图片描述
    为避免触发滚动,删除log文件,3分钟后重启项目:
    在这里插入图片描述
    执行结果:
    3分钟前的日志文件全部被删除,说明cleanHistoryOnStart配置生效,在项目启动的时候会检查是否有需要删除的归档日志文件。


    总结

    本文主要介绍了logback过期的日志文件的自动删除机制如何配置。有如下参数需要注意:
    1、RollingFileAppender控制滚动日志文件追加。
    2、SizeAndTimeBasedRollingPolicy用来配置采用基于大小和时间的滚动策略。
    3、fileNamePattern既控制滚动日志的命名模式,也控制maxHistory的滚动周期。
    4、maxFileSize控制日志最大多少触发滚动。
    5、maxHistory控制归档日志的保留时长,需要和fileNamePattern中的%d{yyyy-MM-dd}解析的滚动周期一起使用。
    6、totalSizeCap控制归档日志的最大体积是多少,超过会触发删除归档日志操作。需要和maxHistory属性一起使用,只配置totalSizeCap属性但是maxHistory=0时不会触发自动删除操作。
    7、cleanHistoryOnStart控制是否在项目启动的时候检查是否需要删除归档日志。

    展开全文
  • linux日志文件详解

    千次阅读 2021-09-17 16:08:26
    目录一、日志文件的分类二、日志文件位置三、常见日志文件1.分析日志文件2.内核及系统日志四、日志消息等级五、日志文件分析1.用户日志2.程序日志六、日志分析注意事项 一、日志文件的分类 日志文件是用于记录Linux...
  • mysql日志文件在哪如何修改MySQL日志文件位置(2013-01-24 15:57:13)标签:itMySQL日志文件相信大家都有很多的了解,MySQL日志文件一般在:/var/log/mysqld.log,下面就教您修改MySQL日志文件位置的方法,供您参考。...
  • 教你完全读懂Windows日志文件

    千次阅读 2021-07-15 02:07:48
    日志文件,它记录着Windows 及其各种服务运行的每个细节,对加强 Windows的稳定和安全性,起着十分 重要的作用。但许多用户不注意对它保护,一些“不速之客”很随便 就将日志文件清空,给系统带来严重的安全隐患。一...
  • 许多应用程序中都会有日志模块,用于记录系统在运行过程中的一些关键信息,以便于对系统的运行状况进行跟踪。在.NET平台中,有非常著名...logging模块支持将日志信息保存到不同的目标域中,如:保存到日志文件中;以...
  • 在很多应用场合,我们是需要实现日志文件滚动的,特别是在一些长期运行的服务器程序中,如果把所有的日志都记录在一个文件之中,势必会造成日志文件越来越大。当日志内容很多的时候,万一哪天突然需要查询某个日志...
  • 怎么查看mysql数据库的日志文件

    千次阅读 2021-01-19 05:07:03
    2017-10-16 回答一.错误日志错误日志在mysql数据库中很重要,它记录着mysqld启动和停止,以及服务器在运行过程中发生的任何错误的相关信息。1.配置信息--log-error=[file-...也可以将log-error配置到my.cnf文件中,...
  • 代码如下:/**** @param path* path:保存日志文件路径* @param content* content:日志内容*/public static void writeFile(String path, String content) {File writefile;try {// 通过这个对象来判断是否向文本...
  • binlog 就是binary log,二进制日志文件,这个文件记录了mysql所有的dml操作。通过binlog日志我们可以做数据恢复,做主住复制和主从复制等等。对于开发者可能对binlog并不怎么关注,但是对于运维或者架构人员来讲是...
  • mysql日志文件在哪

    2021-01-18 18:14:48
    本篇文章将介绍mysql中的几种日志文件位置,如何能够找到。mysql日志文件的查询方法:查找错误日志文件路径show variables like ‘log_error’;在mysql数据库中,错误日志功能是默认开启的。并且,错误日志无法被...
  • 如何查看mysql日志文件位置

    千次阅读 2021-01-18 18:14:48
    登录mysql终端日志文件路径mysql> show variables like 'general_log_file';+------------------+------------------------------------+| Variable_name | Value |+------------------+--...
  • 电脑日志文件可以删除吗?

    千次阅读 2021-07-30 08:22:09
    日志文件可以删除。日志文件跟系统以及软件等没有直接关联,说白了就是系统或者软件产生的记录文件,类似于记事本文本,删除了不会影响系统或者软件本身的正常使用。日志文件可以删除。日志文件(Log文件)通常是系统...
  • 通过查看/etc目录下MYSQL配置文件my.cnf或者使用管理工具mysqladmin,可以得到mysql数据库目录的路径。#cat /etc/my.cnf#mysqladmin variables | more其中datadir定义了mysql数据目录的位置2、MYSQL数据目录中包含了...
  • Java实时读取日志文件

    2021-02-12 20:21:37
    首先,要有服务器上日志文件的路径。String url="/logpath/logFile.log";2.根据路径生成文件对象。File file = new File(url);3.判断文件对象的合理性:file.isFile()==true,file.exists()==true...
  • 最近在使用springboot过程中用到了mybatis-plus ,需要打印sql日志和参数,网上的清一色做法是加配置。 mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl 加上去后日志确实是...
  • Linux常见的日志文件及查看命令

    千次阅读 2021-05-13 21:02:17
    Linux常见日志和常用命令Linux 日志都以明文形式存储,所以我们不需要...一、Linux常用的日志文件# /var/log/boot.log该文件记录了系统在引导过程中发生的事件,就是Linux系统开机自检过程显示的信息。# /var/log/c...
  • 一般来说,日志有五种,分别为:(推荐学习:mysql教程)错误日志:-log-err (记录启动,运行,停止mysql时出现的信息)二进制日志:-log-bin (记录所有更改数据的语句,还用于复制,恢复数据库用)查询日志:-log (记录...
  • MySQL提升笔记(3)日志文件详解

    千次阅读 多人点赞 2021-04-16 22:58:25
    MySQL提升笔记第三篇,介绍MySQL主要日志文件——错误日志文件、二进制日志文件、慢查询日志文件、查询日志文件、重做日志文件。详解了最重要的两大日志——二进制日志和重做日志。
  • Oracle日志文件相信经常使用Oracle数据库的朋友都比较熟悉了,下面将为您介绍的是查询Oracle日志文件的几种方法,供您参考学习。1.查询系统使用的是哪一组日志文件:select * from v$log;2.查询正在使用的组所对应的...
  • 本文主要向大家介绍了MySQL数据库之mysql日志文件在哪 如何修改MySQL日志文件位置 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助。MySQL日志文件相信大家都有很多的了解,MySQL日志文件一般在:/...
  •  利用方法:五、日志文件相关:1. 日志文件路径:2. 没有access.log访问日志的原因:3. 开启`access.log`访问日志功能:六、实验过程: 一、实验目的: 1、通过学习日志文件包含漏洞,掌握在目标服务器存在文件...
  • Java日志记录-我的日志文件在哪里?

    千次阅读 2021-02-12 13:19:00
    我在查找日志文件时遇到问题。我java.util.logging在Windows XP的Eclipse 3.7.1中使用Java日志记录-。我logging.properties文件的相关行是:handlers= java.util.logging.FileHandler, java.util.logging....
  • Linux下自动清除MySQL日志文件MySQL运行过程中会生成大量的日志文件,占用不少空间,修改my.cnf文件配置bin-log过期时间,在Linux下自动清除MySQL日志文件 [mysqld] expire-logs-days= ...linux日志文件linux日志文件 ...
  • oracle日志文件满了

    2021-05-02 01:14:52
    oracle 数据库中udump文件日志过多,导致系统磁盘linux系统下oracle 数据库中udump文件日志过多,导致系统磁盘使用率达udump的文件是系统的事务日志,你可以写个sh脚本呢来定期清理trc文件。 参考如下: du -sk * ...
  • 一、cat命令cat 命令用于连接文件并打印到标准输出设备上,主要用来查看文件内容,创建文件文件合并,追加文件内容等功能。语法格式cat [-AbeEnstTuv] fileName参数说明:-n 或 --number:由 1开始对所有输出的...
  • 当然也有第三方工具记录入侵系统的 痕迹,UNIX系统存放LOG文件,普通位置如下:/usr/adm - 早期版本的UNIX/var/adm - 新一点的版本使用这个位置/var/log - 一些版本的Solaris,linux BSD,Free BSD使用这个位置/etc - ...
  • Python 将控制台输出另存为日志文件

    千次阅读 2021-01-03 16:05:39
    Python 将控制台输出另存为日志文件,在 PyCharm 中或者说运行 python 程序时会使用 print 输出些过程信息、 traceback 异常信息 到控制台,但是程序运行结束后记录就没有了,所以想着每次运行将信息显示在控制台的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,746,770
精华内容 698,708
关键字:

日志文件