美文网首页
日志问题

日志问题

作者: 大大仙人掌 | 来源:发表于2018-07-27 16:37 被阅读0次

    对于这些同学提出的问题, 以下回答均为个人经验之谈, 可能会有更好的解决方案, 不作标准答案;

    程序之路任重道远,望坚持学习,少年易老学难成,一寸光阴不可轻


    Q1:多台服务器上,运行期间会产生大量的错误日志,如何监控错误?

    1,多台服务器  

    以web项目举例,问题的核心并不是'服务器'的量级,而且在多台服务器上是否运行的是"同一项目".大部分情况,多台服务器是为了减轻服务端的压力存在的,这时多台服务器共同执行同一个Task,其日志输出路径是以日为单位的绝对路径,所以找到问题并不是很费力的.

    打个比方,一个Django框架的web项目,其中也存在爬虫程序,日志文件情况如下:


    开发服务器日志文件

    所以,web项目用多台服务器,并不会出现,具体哪台服务器出现了报错情况,因为在代码,环境,部署完全一致的情况下,出现了WARNING,可能是你代码有bug,也可能是服务器上某个部署存在问题,统一修改即可解决.

    如果是爬虫项目,多台服务器可能运行的项目也不一样.那么思路也是一样的,要区分哪台服务器上的程序出现问题了.直接按照当时输出日志时候的路径,找到相应的文件位置即可.

    (日志输入位置要在项目config中配置好)


    日志配置(开发服务器,一般生产环境应改为info)

    比如A服务器 输出路径为../log/serverA/today/0727test.log

    B ../log/serverB/today/0727test.log

    ...

    2运行期间会产生大量的错误日志

    一个项目的运行,一定避免不了会输出大量的信息,以供程序员参考:

    日志等级由低到高:debug<info<warn<Error<Fatal;

    生产模式下,最低等级为info;

    一般情况下:输出info的信息,均为你在代码中想要看到目前结果的地方进行日志打印,此处看你的习惯,和信息的重要性;(关键处打印日志是一个程序员良好的习惯)

    代码中打印日志

    warn信息一般是不影响系统正常运行的警告信息,一般情况,此类也是可以写代码的时候,特定场景下添加警告信息(一般不会用),大部分情况是系统自动生成该类错误.


    warn和error错误信息

    error才是你真正需要关心的问题,因为此类错误会直接导致系统无法正常运行,或者直接崩溃.

    处理方式当然是看解释器的报错信息了..

    一般出现问题,第一反应应该是,服务器上把日志下载到本地.用notepad++等文本软件打开,查找关键字为error的,具体问题具体解决即可.

    3如何监控错误?

    这个问题的核心是:你想主动让程序告知你发生了什么,还是等到出现问题,直接翻看日志找到问题.

    出现error,给你发个短信,或者邮件,这个应该不难吧..定时任务或者异步处理都可以的..具体解决方案,网上有很多监控方式,可针对自己的项目进行学习即可..

    相关文章

      网友评论

          本文标题:日志问题

          本文链接:https://www.haomeiwen.com/subject/fvkgmftx.html