igormatkovic/laravel-livelogger

将应用实时日志显示给开发者

1.0.3 2014-10-30 14:37 UTC

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。
  • 设计更好的输出界面,这个太糟糕了。