首页 > 其他分享 >【杂谈】后台日志该怎么打印

【杂谈】后台日志该怎么打印

时间:2024-12-14 16:53:10浏览次数:4  
标签:文件 记录 杂谈 信息 监控 后台 日志 ID

为什么要打印日志?

1. 监控系统运行情况

定期查看系统日志是了解服务是否正常运行的重要手段。日志为运维人员提供了实时监控系统状态、发现潜在问题的关键信息。

2. 排查问题(例如异常栈)

日志记录了详细的错误信息,特别是异常栈,有助于快速定位问题的根源。对于一些偶发的 Bug,日志是排查的唯一途径,尤其在生产环境中,日志显得尤为重要。

对于try-catch必须注意,无特殊情况,不能吃掉异常。

3. 性能监控

通过记录特定操作的耗时,可以实时监控系统性能,帮助我们及时发现性能瓶颈,并对耗时较长的操作进行优化。

Java 可使用StopWatch工具。

4. 网络攻击监控

日志中的安全信息对及时发现网络攻击至关重要。防火墙或其他安全组件会记录攻击行为,这有助于我们迅速应对,采取措施如增强保护机制或切换服务节点。


什么操作需要打印日志?

1. 用户操作

特别是 后台管理人员 的操作日志,需要详细记录。这不仅有助于了解系统的使用情况,还能为出现问题时提供追责依据。

例如,用户可能不承认自己执行了某些操作,而通过日志记录的操作时间、IP 地址、执行的具体任务等信息,可以作为有力证据。

2. 定时任务

记录定时任务的执行日志非常重要,它帮助我们确认任务是否按时运行、是否执行成功以及是否存在异常。

3. 外部请求

当系统与外部接口进行交互时,记录 请求参数响应内容 是至关重要的。

通过这些日志,我们不仅能验证外部系统是否返回了正确的数据,还能确保我们的系统按照预期工作。


打印什么内容?

1. 必要的 ID 信息

日志中应包含 必要的标识符(如用户 ID、事务 ID 等),这些信息对于问题的快速定位至关重要。通过记录标识符,能够帮助我们追溯相关操作、识别操作的发起者,并在出现问题时迅速查找出问题源头。

2. 信息的可读性

仅仅记录 ID 信息可能缺乏直观性,给后续分析带来困难。因此,最好 同时记录相关的可读信息,如 username(用户名)和 user_id

例如,单独记录用户的 ID(如 user_id=12345)可能无法直接帮助我们理解哪个用户发生了问题,而通过同时记录 username(如 username=张三)则能使问题定位更加直观且易于处理。


主要注意什么?

1. 打印频率

日志打印频率过高会导致日志文件快速增长,占用大量磁盘空间,甚至影响系统性能。因此,应合理控制日志记录的频率,避免记录不必要的信息。

2. 敏感信息

日志中可能包含敏感信息(如用户密码、支付信息等)。虽然大部分技术人员不会主动访问这些信息,但日志泄露可能对公司声誉造成严重影响。为了防止敏感信息泄露,应避免记录此类数据。可以通过根据关键词匹配对象的 key,将敏感信息的 value 替换为 **** 来规避这一风险。


如何查看和使用日志?

1. 执行链路追踪

通过在日志中添加 TAG(标签),可以轻松地过滤和追踪某个操作的执行过程。

例如,可以为每个用户请求或业务操作分配唯一的 request IDtransaction ID,并将其作为 TAG 记录在日志中,这样就能在不同的系统和模块中追踪同一请求的执行轨迹。

2. 关键字搜索

日志文件通常包含大量信息,尤其是高并发环境下,日志量可能非常庞大。为了快速定位和排查问题,我们可以利用 关键字搜索 功能。

例如,如果系统报错时出现了异常信息 NullPointerException,我们可以在日志中搜索该关键字,快速定位到报错的具体位置,进而缩小排查范围,快速解决问题。

或者在人工扫描的时候,可以搜索Exception或error,快速过滤异常信息,查看是否存在不符合预期的异常。


文件日志还是数据库日志?

  • 运行日志:一般情况下,运行日志直接写入文件。文件日志记录了系统的整体运行状态,便于进行监控和性能调优。

  • 操作日志:对于用户操作、业务处理等较高层次的日志,建议写入数据库。这样不仅方便检索和分析,还可以生成报告,并有助于长期保存和审计。


日志文件为什么要分片?如何分片?

日志文件不能无限增长,否则会影响查看和管理。例如,查看特定日期的日志时,如果所有日志都集中在一个文件中,文件会变得庞大,难以阅读,打开文件还可能出现卡顿。

此外,删除旧日志时也会变得困难,因为文件锁定会影响新日志的写入。

日志分片,也称为日志轮转,通常基于时间(如按天、按月)或文件大小来分片。最常见的方式是结合日期和序号进行分片:当文件达到一定大小时,创建一个新的日志文件并按序号命名。


海量日志如何监控?

对于单个简单应用,日志量相对较少,可以直接下载并通过人工检查。但对于微服务架构的复杂系统,日志量巨大且分散,人工扫描显然不现实。

  • 集中日志管理:可以使用日志收集工具(如 ELK Stack)将日志集中存储和管理。这样,所有微服务的日志都会被统一收集,便于分析和监控。

  • 日志收集的必要性:为什么不在一开始就直接将日志写入中央存储?因为这可能导致单点故障,并可能增加网络延迟。更好的做法是,服务先将日志写入本地文件,然后通过专门的收集器(如 Filebeat、Logstash)进行处理和传输。

  • 使用 Kafka 监控日志:对于高频率的日志数据,可以将日志传输到 Kafka,然后由专门的消费者应用进行实时消费和分析。消费者可以检查日志内容,识别出严重错误或异常情况,并及时告警(如通过邮件通知运维人员)。

  • 监控服务独立性:为什么不建议直接在服务代码中嵌入日志监控逻辑?因为监控服务应该与应用服务分离,这样便于更新、扩展,并遵循解耦设计原则。独立的监控服务可以灵活配置和管理。


总结

日志是任何系统中不可或缺的组成部分,合理的日志记录策略不仅能帮助开发人员高效排查问题,还能帮助运维团队监控系统健康、优化性能并确保安全性。在日志设计时,我们应特别关注内容的可读性、敏感信息的保护,以及合理控制日志记录频率。通过有效的日志管理、分析和告警机制,我们可以更好地保障系统的稳定性和安全性。

标签:文件,记录,杂谈,信息,监控,后台,日志,ID
From: https://www.cnblogs.com/longfurcat/p/18606762

相关文章

  • Vue2-第二版-后台管理系统项目实战/vue+element-ui/vue经典全套系统案例讲解
    Vue2-第二版-后台管理系统项目实战/vue+element-ui/vue经典全套系统案例讲解https://www.bilibili.com/video/BV1j5411o7xHP101采购系统-项目介绍P202采购系统-项目分类P303采购系统-项目搭建P404采购系统-后端数据库导入P505采购系统-项目初始化P606采购系统-la......
  • gorm: 自定义日志
    一,官方文档:地址https://gorm.io/zh_CN/docs/logger.html参考的gormlogger代码实现:https://github.com/go-gorm/gorm/blob/master/logger/logger.go自定义日志需要实现的接口:typeInterfaceinterface{LogMode(LogLevel)InterfaceInfo(context.Context,stri......
  • 群控系统服务端开发模式-应用开发-获取登录者今天操作日志
    一、后端api开放路由    在根目录下route文件夹下app.php文件中,在perimission的group中添加如下代码:Route::get('member/personal_log','permission.Member/personalLog');//获取个人信息操作接口二、后端api添加方法    在根目录下app文件夹下controlle......
  • 使用FastGPT制做一个AI网站日志分析器
    越来越的多网站面临每天上千次的扫描和各类攻击,及时发现攻击IP,并有效的屏蔽不良访问成为网站安全的重要保障,这里我们使用AI来完成对网站日志的日常分析。我们来使用FastGPT来制做一个AI网站日志析器,下面就开始:一:打开FastGPT,并生成一个简单会话二:书写提示词:##Background:......
  • 网站后台管理员如何修改,详细步骤指南
    如果您需要修改网站后台管理员的信息或权限,可以按照以下步骤进行操作:登录后台管理:使用您的账户信息登录网站的后台管理系统。导航至管理员管理:登录后,导航至“管理员管理”、“用户管理”或“权限设置”等相关页面。这些页面通常会包含管理员账户的管理功能。编辑管理员信......
  • 易优EyouCMS的“易优修改重置后台密码小工具”有哪些功能,如何使用?
    易优EyouCMS的“易优修改重置后台密码小工具”是一个非常实用的工具,可以帮助您在忘记后台密码或其他登录问题时快速解决问题。以下是该工具的主要功能及其使用方法:后台密码重置:功能介绍:如果您忘记了后台管理员密码,可以使用此工具快速重置。使用方法:下载 setpwd.php 文件......
  • 基于Python的日志数据可视化分析系统
    收藏关注不迷路!!......
  • 在网站后台如何修改邮箱,确保账户安全
    修改网站后台中的邮箱地址是确保账户安全的重要步骤。以下是具体操作方法:登录后台:打开浏览器,输入网站后台的登录地址,使用管理员账号登录。进入个人资料:在后台顶部或左侧菜单中,找到“个人资料”、“账户设置”或类似名称的选项,点击进入。编辑邮箱地址:在个人资料页面中,找到......
  • QT日志类SimpleQtLogger的简单记录
    在现代软件开发中,日志记录是必不可少的部分。它不仅帮助开发者在调试和维护软件时了解程序的运行状态,还能提供关键的错误信息。对于使用Qt框架开发应用程序的开发者来说,选择一个合适的日志库至关重要。本文将详细介绍Qt日志库SimpleQtLogger的特点、安装方法、使用示例以及它在实......
  • SpringBoot3+Vue3+ArcoDesign后台管理系统源码 | 小蚂蚁云
     项目介绍基于SpringBoot3、SpringSecurity、MybatisPlus、Vue3、TypeScript、Vite、ArcoDesign、MySQL等技术栈实现的单体前后端分离后台管理系统;后端基于Java语言采用SpringBoot3、SpringSecurity、MybatisPlus、MySQL等主流技术栈,前端基于Vue3、TypeScript、Vite等技术栈......