改造 Mojolicious 让日志显示当前模块和行号
浏览:1130次 出处信息
原始显示
本着分享的精神, 给近一二年使用 Mojolicious 的经验分享给大家. 今天要分享的是怎么加强默认 Mojo 显示日志, 让我们更加好的排错, 默认显示的时候是下面这样:
[Mon Jun 9 18:40:06 2014] [debug] GET "/perldoc". [Mon Jun 9 18:40:06 2014] [debug] Routing to a callback. [Mon Jun 9 18:40:06 2014] [debug] Rendering inline template "0667de3944df7624273d6f814d01f4c9". [Mon Jun 9 18:40:06 2014] [debug] Rendering inline template "4fcf2af99f1803a7a26c2e9b04430f8c". [Mon Jun 9 18:40:06 2014] [debug] 200 OK (0.169724s, 5.892/s).
改造
有时我非常想知道, 这行日志到底是谁, 在哪打印出来的, 现在来让我们来实现这个功能, 如果是 Mojolicious::Lite
if( app->log->is_level('debug') ) { nowarnings 'redefine'; *Mojo::Log::_format = sub{ my($self, $level, @lines) = @_; my@caller= caller(4); my$caller= join' ', $caller[0], $caller[2]; return'['. localtime(time) . "][$level] [$caller] ". join("\n", @lines). "\n"; } }
如果是 Mojolicious 就给下列代码写到 startup 当中
if( $self->app->log->is_level('debug') ) { nowarnings 'redefine'; *Mojo::Log::_format = sub{ my($self, $level, @lines) = @_; my@caller= caller(4); my$caller= join' ', $caller[0], $caller[2]; return'['. localtime(time) . "][$level] [$caller] ". join("\n", @lines). "\n"; } }
最终效果
这样日志会显示成
[Mon Jun 9 18:35:47 2014][debug] [Mojolicious 107] GET "/perldoc". [Mon Jun 9 18:35:47 2014][debug] [Mojolicious::Routes 119] Routing to a callback. [Mon Jun 9 18:35:48 2014][debug] [Mojolicious::Plugin::EPLRenderer 34] Rendering inline template "0667de3944df7624273d6f814d01f4c9". [Mon Jun 9 18:35:48 2014][debug] [Mojolicious::Plugin::EPLRenderer 34] Rendering inline template "4fcf2af99f1803a7a26c2e9b04430f8c". [Mon Jun 9 18:35:48 2014][debug] [Mojolicious::Controller 210] 200 OK (0.171894s, 5.818/s).
象上面, 我们这样能清楚的知道是哪行, 那个函数打印了这个日志.
建议继续学习:
- server日志的路径分析 (阅读:10080)
- AWStats简介:Apache/Windows IIS的日志分析工具的下载,安装,配置样例和使用(含6.9中文定义补丁) (阅读:8834)
- 利用脚本分析日志并利用snmp自定义OID,再通过cacti画图 (阅读:8671)
- tomcat catalina.out日志切割每天生成一个文件 (阅读:8066)
- 分布式日志系统scribe使用手记 (阅读:8023)
- AWStats是一个基于Perl的WEB日志分析工具。 (阅读:6090)
- 使用nginx记日志 (阅读:5048)
- 大于2GB的Listener.log和运行超过198天的主机上的Oracle实例 (阅读:4841)
- 在 shell 脚本里打日志 (阅读:4767)
- Sentry: 错误日志集中管理 (阅读:4335)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
扫一扫订阅我的微信号:IT技术博客大学习
<< 前一篇:Linux 常见高危操作
后一篇:Linux系统巡检常用命令 >>
文章信息
- 作者:扶 凯 来源: 扶凯
- 标签: Mojolicious 日志
- 发布时间:2014-06-10 12:23:43
建议继续学习
近3天十大热文
- [66] Oracle MTS模式下 进程地址与会话信
- [65] Go Reflect 性能
- [64] 如何拿下简短的域名
- [60] android 开发入门
- [59] 图书馆的世界纪录
- [59] 【社会化设计】自我(self)部分――欢迎区
- [58] IOS安全–浅谈关于IOS加固的几种方法
- [54] 视觉调整-设计师 vs. 逻辑
- [48] 界面设计速成
- [48] 读书笔记-壹百度:百度十年千倍的29条法则