igormatkovic / laravel-livelogger
将应用实时日志显示给开发者
1.0.3
2014-10-30 14:37 UTC
Requires
- php: >=5.4.0
- illuminate/console: ~4.0
- illuminate/log: ~4.0
- illuminate/support: ~4.0
- pusher/pusher-php-server: ~2.1
This package is not auto-updated.
Last update: 2024-09-24 02:03:33 UTC
README
在自定义仪表板上显示实时日志的简单方法。
背后的想法是在办公室墙上放一台电视来显示数据。在未来版本中,如果出现错误或类似情况,将发送声音。
此应用程序使用Pusher.com发送数据。还将有一个WebSocket版本,但由于Pusher的免费账户每天允许发送最多100k条消息,我不确定有人会使用它。
##Composer
"require": { "igormatkovic/laravel-livelogger": "~1.0" }
##设置
在app/config/app.php中
注释掉Laravel日志服务提供者
//'Illuminate\Log\LogServiceProvider',
并添加这个
'Igormatkovic\Livelogger\LiveloggerServiceProvider',
同时更改日志别名
从
'Log' => 'Illuminate\Support\Facades\Log',
到
'Log' => 'Igormatkovic\Livelogger\Facades\Livelogger'
从命令行发布并编辑配置
php artisan config:publish igormatkovic/laravel-livelogger
然后插入你的Pusher.com应用数据
return array( 'log_level' => (getenv('log_level') ?: 'error'), 'dateformat' => (getenv('dateformat') ?: 'H:i:s'), 'channel_name' => (getenv('channel_name') ?: 'livelogger'), 'pusher_app_id' => (getenv('pusher_app_id') ?: 'pusher_app_id'), 'pusher_api_key' => (getenv('pusher_api_key') ?: 'pusher_api_key'), 'pusher_api_secret' => (getenv('pusher_api_secret') ?: 'pusher_api_secret'), 'pusher_use_ssl' => (getenv('pusher_use_ssl') ?: false), );
或者你可以在.env.php中直接插入数据以将其排除在GIT之外
一旦添加了数据,只需生成livelogger dash html
php artisan livelogger:generate
然后只需打开你的$domain.com/livelogger.html来查看正在记录的内容
我建议使用该URL作为iframe,这样你就可以将其放入自定义仪表板中。
但您也可以直接将其集成到自己的视图中
<script src="//js.pusher.com/2.2/pusher.min.js" type="text/javascript"></script> <script type="text/javascript"> var pusher = new Pusher('{{ $pusher_api_key }}'); var channel = pusher.subscribe('{{ $chanel_name }}'); channel.bind('log', function(data) { $('#notify-messages').prepend('<li class="message level_'+data.level+'">['+data.date+'] '+data.message+'</li>'); }); </script>
别忘了设置您的chanel_name和pusher_api_key
请注意。日志推送越多,网站速度越慢!
此应用程序适用于应用程序的关键部分。
###待办事项
- 单元测试。
- 对关键事件发出声音。
- 使用令牌或其他方式保护URL。
- 设计更好的输出界面,这个太糟糕了。