php.ini中日志相关的配置 ;将错误输入到日志文件 (服务器指定的log,stderr或者以下error_log指定的位置) log_errors = On ;错误日志文件位置 error_log = /tmp/php-error.log ;是否将错误打印出来(程序中的错误,如代码语法错误) display_errors = Off ;Note: ;尽管 display_errors 也可以在运行时设置 (使用 ini_set()), 但是脚本出现致命错误时任何运行时的设置都是无效的。 ;PHP启动过程中的错误信息 display_startup_errors = Off ;错误日志级别 ;开发环境可以考虑开机所有级别错误 error_reporting = E_ALL 注: nginx
简介 sentry 是一个开源的实时错误监控的项目,它支持很多端的配置,包括 web 前端、服务器端、移动端及其游戏端。 支持语言多 image.png 部署Sentry Docker 19.03.6+ Compose 1.24.1+ 4 CPU Cores 8 GB RAM 20 GB Free Disk Space 实时日志平台 (错误日志收集) image.png 部署docker mkdir /etc/docker yum -y localinstall containerd.io-1.2.10-3.2.fc30.x86 _64.rpm docker-ce-cli-19.03.6-3.fc30.x86_64.rpm docker-ce-19.03.1-3.el7.x86_64.rpm tee /etc/docker/daemon.json Docker后台服务 systemctl start docker && systemctl enable docker systemctl daemon-reload 部署python3
DJango错误日志生成 setting.py设置 LOGGING = { 'version': 1, 'disable_existing_loggers': False, 'formatters ,日志文件名,日志保存目录必须手动创建,注:这里的文件路径要注意BASE_DIR 'filename': os.path.join(os.path.dirname(BASE_DIR # 日志文件的数量,设置最大日志数量为10 'backupCount': 10, # 日志格式:详细格式 'formatter': 'verbose', # 编码 'encoding': 'utf-8' }, }, # 日志对象 'loggers 'level': 'INFO', 'handlers': ['console', 'file'], 'propagate': True, # 是否让日志信息继续冒泡给其他的日志处理系统
日志描述:用户密码错误。 解决方案: # 设置密码为panda config set requirepass panda # 使用密码 auth panda 日志输出 OK ,便成功。 日志描述:(错误)misconf redis被配置以保存数据库快照,但misconf redis目前不能在硬盘上持久化。用来修改数据集合的命令不能用,请使用日志的错误详细信息。
类
using System.Text;
using System.IO;
namespace命名空间
{
public class Log
{
#region 记录错误日志 ///
错误日志支持INSERT, UPDATE, MERGE, and DELETE这些操作。 另一个可选参数,是reject limit,定义了INSERT操作报错前,日志表记录最大值,可以设置为UNLIMITED,默认只是0,意思是碰见第一个错误,就记录日志表,并且回滚语句。 以下操作错误,不会记录日志, Violated deferred constraints. 错误日志表,可以记录DML一些操作错误,当然有一些限制。 2. 3. 错误日志表,有些数据类型不支持,可以使用标签,以及reject limit设置一些错误记录的属性。
错误日志告警实战 1.1. 需求 为了更方便的实时了解系统报错情况,我开始寻找告警解决方案 1.2. 思路 1.2.1. 不差钱的方案 如果不差钱,更系统更完善的解决方案,我首先想到的是CAT,它不但能实现错误告警,且更加智能,告警的错误间隔,错误告警内容,QPS告警等等方式更多样化,还能查看接口QPS流量等等,奈何经费有限 到这一步,只要我们打印log.error日志就会把错误日志都发到指定邮件上了,但这样肯定还不够,我们需要配合@ControllerAdvice可以做到只要报异常,就可以统一进行日志邮件发送,同时我们又会有特殊的需求 ,比如个别的错误日志频繁且不可避免,而且不需要处理,那么我们可以稍稍做些扩展,定义个接口注入,在业务代码中去处理是否不需要发送错误邮件 1.5. 总结 至此已经完全实现错误告警方案,后续就是优化工作了,实现效果如下 错误邮件列表 ? 错误邮件内容 ?
java 时区错误 解决方法 问题 参考链接 电脑上所有 java 应用、项目时间都不对。 核心业务系统启动后日志时间和当前系统时间差11个小时30分钟,电脑用的是云桌面系统有严格的权限控制,找相关人和同事弄了几次没好;都知道是时区问题,但没注意到系统桌面右下角的提示。 看testTimeZone方法,断点进去后最后到一个关键方法getSystemTimeZoneID() (下面的图片是修改正确后的拍照截图,没拍错误的) getSystemTimeZoneID 至于为什么错误的会是 user.timezone=America/Bahia 等找到完整的 native 方法 getSystemTimeZoneID() 搭个环境,再打断点看看。
存储过程 sp_readerrorlog 作用:查询mssql的错误日志 查看AdventureWorks2019的全部errlog use master; exec sp_readerrorlog view=sql-server-ver16 存储过程 sp_cycle_errorlog 作用: 清空错误日志 EXEC sp_cycle_errorlog ; -- 再次查询错误日志,可以看到只剩
同大多数关系型数据库一样,日志文件是MySQL数据库的重要组成部分。MySQL有几种不同的日志文件,通常包括错误日志文件,二进制日志,通用日志,慢查询日志,等等。 对于存在MySQL复制的情形下,从复制服务器将维护更多日志文件,被称为接替日志。 2、错误日志 错误日志是一个文本文件。 可以用--log-error[=file_name]选项来开启mysql错误日志,该选项指定mysqld保存错误日志文件的位置。 shell> mv host_name.err-old backup-directory 3、实战演示 #启用错误日志,缺省情况下文件名为: hostname.err #下面2种方式均可进行错误日志的配置 ,错误日志文件的格式,通常如下: 时间 [错误级别] 错误信息 有些日志信息不一定包含错误级别
检查当前日志轮转配置首先,我们需要检查当前的日志轮转配置。 常见的日志轮转配置问题及解决方案2.1 配置文件语法错误问题:日志轮转配置文件语法错误,导致配置无法生效。解决方案:检查并修复配置文件语法。 :日志文件创建权限设置不当,导致日志文件丢失。 :日志文件未备份,导致重要日志丢失。 /backup_logs.sh 示例:使用 cron 定期运行备份脚本:crontab -e 添加以下行:0 0 * * * /path/to/backup_logs.sh 3.
// MySQL错误日志激增案例 // 今天中午,搭建好的一套主从环境中磁盘报警,登陆到相关环境,发现是MySQL的错误日志量非常大,于是使用tail -f命令查看了日志文件,发现该错误日志增长的速度非常快 log_warnings 为1, 表示告警信息写入错误日志。 log_warnings 大于1, 表示记录各类告警信息,包含一些连接被拒绝或者异常终止的连接信息。 官方文档上写到:该参数表示了服务器将错误、警告和注释消息写入错误日志的详细程度。 1 (errors only), 2 (errors and warnings), 3 (errors, warnings, and notes) 看到这里,答案就比较明显了,该参数默认值是3, 往错误日志里面写入错误,警告和注释,我们关闭掉那些不需要的注释即可,手工执行: mysql--root@ :(none) ::>>show variables like '%log_err%'; +--
有时候启动或操作sap会出现故障,只是察看sap用户当前目录下的日志文件可能不得要领,此时有必要察看work目录下的一些trace. 以Linux系统为例,其他的也差不多。 有个简单的方法就是察看这些文件的修改时间,如果是错误发生时被更新的,那就有关了。 ll -t 可以排序这些文件。 比如我这回碰到说SCS01启动失败,察看这个更新的文件中有一个dev_ms.new, 有如下错误信息 MsSInit died: address in use 可以看到这个MS启动时绑定port失败,说已经被用了
语法:error_log file level ; # error_log 是关键字,file 是保存错误日志的文件路径,level 是错误日志级别 位置:错误日志可以配置在 Main 区块, 也可以配置在虚拟主机配置文件中 日志级别:debug | info | notice | warn | error | crit | alert | emerg ,级别越高,记录的信息越少 ?
常见的日志有以下几个: 1、错误日志(error log); 2、慢查询日志(slow query log); 3、二进制日志(binlog); 4、查询日志(log); 二、错误日志 1、官方介绍文档 : https://dev.mysql.com/doc/refman/5.7/en/error-log.html 2、MySQL错误日志是记录MySQL 运行过程中较为严重的警告和错误信息,以及MySQL 可以通过命令查看MySQL错误日志文件位置: mysql> show variables like 'log_error'\G; ? 查看如下: ? 慢查询日志支持将日志记录写入文件,也支持将日志记录写入数据库表。 3、可以通过如下命令查看默认阀值和是否开启: #默认的阀值时间 mysql> show variables like 'long_query_time'\G; ?
错误日志(Error log) 慢查询日志(Slow query log) 二进制日志 查询日志 二、错误日志详解:MySQL错误日志是记录MySQL 运行过程中较为严重的警告和错误信息,以及MySQL 【查看MySQL数据库错误日志存放的位置】 ? 三、慢查询日志详解:MySQL慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值的语句,具体指SQL语句运行时间超过long_query_time值的SQL,则会被记录到慢查询日志文件中 慢查询日志支持将日志记录写入文件,也支持将日志记录写入数据库表中,当然,这些情况你必须得一个一个来手动设置才行。 【查看MySQL数据库默认的阀值时间】 ? 更该慢查询日志的存储方式,因为默认是将慢查询日志记录到文件类型中的,如果你想将这些日志记录到数据表中,则可以通过如下设置。 【查看慢查询日志的默认存储方式】 ?
function makeErrorLog($filename,$errormsg) { $fp = fopen($filename,'a');//模式是写入方式打开 $str = "错误日期 ==错误内容:". ; } $sql = "select * fro1m voto";//首先数据库要链接成功,sql语句错误才行哦 $result = mysql_query($sql); $arr = mysql_fetch_assoc($result); if($arr){ print_r($arr); }else{ makeErrorLog('conn.log','SQL语句执行错误
---OceanBase 运行时会产生很多各种级别的日志,如果出现了错误,想要从数量繁多的错误日志中定位到错误原因,是件不太容易的事。 错误日志是我们定位错误原因的主要途径,本文我们就来聊聊怎么从 OceanBase 错误日志中找到我们想要的错误信息。1. 日志文件OceanBase 日志分为 3 类:选举模块日志:存放选举模块产生的日志。总控服务(RootService)模块日志:存放总控服务模块产生的日志。 如果从上面 3 个日志文件中都没找到,那就是碰上特殊情况了,可以用报错中的错误信息依次从 observer.log.wf、rootservice.log.wf、election.log.wf 中找,例如 3 个 RootService 服务器都启动了,端口也是正常监听状态,OceanBase 却没有识别出来,错误日志中也就没能准确的记录错误信息了。5.
MySQL日志:错误日志、二进制日志、查询日志、慢查询日志 1. 错误日志 2. 二进制日志 3. 查询日志 4. 慢查询日志 ②⑩ MySQL日志:错误日志、二进制日志、查询日志、慢查询日志 1. 错误日志 错误日志: 错误日志是MySQL中最重要的日志之一,它记录了当mysqld启动和停止时,以及服务器在运行过程中发生任何严重错误时的相关信息。 以下是清理二进制日志的 3种方式(命令行指令): 也可以在mysql的配置文件中配置二进制日志的过期时间,设置了之后,二进制日志过期会自动删除。 -- 查看二进制日志的过期时间 SHOW VARIABLES LIKE '%binlog_expire_logs_seconds%'; 3.
bookitem:war: Artifact is being deployed, please wait... 27-Apr-2022 09:28:33.239 警告 [RMI TCP Connection(3) Default version will be used. 27-Apr-2022 09:28:34.127 信息 [RMI TCP Connection(3)-127.0.0.1] org.apache.jasper.servlet.TldScanner.scanJars can improve startup time and JSP compilation time. 27-Apr-2022 09:28:34.167 严重 [RMI TCP Connection(3) will be found in the appropriate container log file 27-Apr-2022 09:28:34.168 严重 [RMI TCP Connection(3) 找到filter中的init 删Filter.super.init(filterConfig); 即: 原因: 如图我的错误原因是因为filter的相关方法错误,经排查发现我使用的Filter是4.0.1