Laravel logging: Difference between revisions
From AWVVO
Jump to navigationJump to search
Created page with "== View log == <syntaxhighlight lang="php" copy> // create batch file viewlog.bat powershell -file viewlog.ps1 // create viewlog.ps1 get-content -path storage\logs\laravel.log -wait // run viewlog.bat </syntaxhighlight>" |
|||
Line 8: | Line 8: | ||
// run viewlog.bat | // run viewlog.bat | ||
</syntaxhighlight> | |||
== Set daily rolling logging == | |||
<syntaxhighlight lang="php" line highlight="57,62-67" copy> | |||
<?php | |||
use Monolog\Handler\NullHandler; | |||
use Monolog\Handler\StreamHandler; | |||
use Monolog\Handler\SyslogUdpHandler; | |||
use Monolog\Processor\PsrLogMessageProcessor; | |||
return [ | |||
/* | |||
|-------------------------------------------------------------------------- | |||
| Default Log Channel | |||
|-------------------------------------------------------------------------- | |||
| | |||
| This option defines the default log channel that gets used when writing | |||
| messages to the logs. The name specified in this option should match | |||
| one of the channels defined in the "channels" configuration array. | |||
| | |||
*/ | |||
'default' => env('LOG_CHANNEL', 'stack'), | |||
/* | |||
|-------------------------------------------------------------------------- | |||
| Deprecations Log Channel | |||
|-------------------------------------------------------------------------- | |||
| | |||
| This option controls the log channel that should be used to log warnings | |||
| regarding deprecated PHP and library features. This allows you to get | |||
| your application ready for upcoming major versions of dependencies. | |||
| | |||
*/ | |||
'deprecations' => [ | |||
'channel' => env('LOG_DEPRECATIONS_CHANNEL', 'null'), | |||
'trace' => false, | |||
], | |||
/* | |||
|-------------------------------------------------------------------------- | |||
| Log Channels | |||
|-------------------------------------------------------------------------- | |||
| | |||
| Here you may configure the log channels for your application. Out of | |||
| the box, Laravel uses the Monolog PHP logging library. This gives | |||
| you a variety of powerful log handlers / formatters to utilize. | |||
| | |||
| Available Drivers: "single", "daily", "slack", "syslog", | |||
| "errorlog", "monolog", | |||
| "custom", "stack" | |||
| | |||
*/ | |||
'channels' => [ | |||
'stack' => [ | |||
'driver' => 'stack', | |||
'channels' => ['daily'], | |||
'ignore_exceptions' => false, | |||
], | |||
'daily' => [ | |||
'driver' => 'daily', | |||
'path' => storage_path('logs/sfc.log'), | |||
'level' => env('LOG_LEVEL', 'debug'), | |||
'days' => 7, | |||
'replace_placeholders' => true, | |||
], | |||
'slack' => [ | |||
'driver' => 'slack', | |||
'url' => env('LOG_SLACK_WEBHOOK_URL'), | |||
'username' => 'Laravel Log', | |||
'emoji' => ':boom:', | |||
'level' => env('LOG_LEVEL', 'critical'), | |||
'replace_placeholders' => true, | |||
], | |||
'papertrail' => [ | |||
'driver' => 'monolog', | |||
'level' => env('LOG_LEVEL', 'debug'), | |||
'handler' => env('LOG_PAPERTRAIL_HANDLER', SyslogUdpHandler::class), | |||
'handler_with' => [ | |||
'host' => env('PAPERTRAIL_URL'), | |||
'port' => env('PAPERTRAIL_PORT'), | |||
'connectionString' => 'tls://'.env('PAPERTRAIL_URL').':'.env('PAPERTRAIL_PORT'), | |||
], | |||
'processors' => [PsrLogMessageProcessor::class], | |||
], | |||
'stderr' => [ | |||
'driver' => 'monolog', | |||
'level' => env('LOG_LEVEL', 'debug'), | |||
'handler' => StreamHandler::class, | |||
'formatter' => env('LOG_STDERR_FORMATTER'), | |||
'with' => [ | |||
'stream' => 'php://stderr', | |||
], | |||
'processors' => [PsrLogMessageProcessor::class], | |||
], | |||
'syslog' => [ | |||
'driver' => 'syslog', | |||
'level' => env('LOG_LEVEL', 'debug'), | |||
'facility' => LOG_USER, | |||
'replace_placeholders' => true, | |||
], | |||
'errorlog' => [ | |||
'driver' => 'errorlog', | |||
'level' => env('LOG_LEVEL', 'debug'), | |||
'replace_placeholders' => true, | |||
], | |||
'null' => [ | |||
'driver' => 'monolog', | |||
'handler' => NullHandler::class, | |||
], | |||
'emergency' => [ | |||
'path' => storage_path('logs/sfc.log'), | |||
], | |||
], | |||
]; | |||
</syntaxhighlight> | </syntaxhighlight> |
Revision as of 10:06, 29 January 2025
View log
// create batch file viewlog.bat
powershell -file viewlog.ps1
// create viewlog.ps1
get-content -path storage\logs\laravel.log -wait
// run viewlog.bat
Set daily rolling logging
<?php
use Monolog\Handler\NullHandler;
use Monolog\Handler\StreamHandler;
use Monolog\Handler\SyslogUdpHandler;
use Monolog\Processor\PsrLogMessageProcessor;
return [
/*
|--------------------------------------------------------------------------
| Default Log Channel
|--------------------------------------------------------------------------
|
| This option defines the default log channel that gets used when writing
| messages to the logs. The name specified in this option should match
| one of the channels defined in the "channels" configuration array.
|
*/
'default' => env('LOG_CHANNEL', 'stack'),
/*
|--------------------------------------------------------------------------
| Deprecations Log Channel
|--------------------------------------------------------------------------
|
| This option controls the log channel that should be used to log warnings
| regarding deprecated PHP and library features. This allows you to get
| your application ready for upcoming major versions of dependencies.
|
*/
'deprecations' => [
'channel' => env('LOG_DEPRECATIONS_CHANNEL', 'null'),
'trace' => false,
],
/*
|--------------------------------------------------------------------------
| Log Channels
|--------------------------------------------------------------------------
|
| Here you may configure the log channels for your application. Out of
| the box, Laravel uses the Monolog PHP logging library. This gives
| you a variety of powerful log handlers / formatters to utilize.
|
| Available Drivers: "single", "daily", "slack", "syslog",
| "errorlog", "monolog",
| "custom", "stack"
|
*/
'channels' => [
'stack' => [
'driver' => 'stack',
'channels' => ['daily'],
'ignore_exceptions' => false,
],
'daily' => [
'driver' => 'daily',
'path' => storage_path('logs/sfc.log'),
'level' => env('LOG_LEVEL', 'debug'),
'days' => 7,
'replace_placeholders' => true,
],
'slack' => [
'driver' => 'slack',
'url' => env('LOG_SLACK_WEBHOOK_URL'),
'username' => 'Laravel Log',
'emoji' => ':boom:',
'level' => env('LOG_LEVEL', 'critical'),
'replace_placeholders' => true,
],
'papertrail' => [
'driver' => 'monolog',
'level' => env('LOG_LEVEL', 'debug'),
'handler' => env('LOG_PAPERTRAIL_HANDLER', SyslogUdpHandler::class),
'handler_with' => [
'host' => env('PAPERTRAIL_URL'),
'port' => env('PAPERTRAIL_PORT'),
'connectionString' => 'tls://'.env('PAPERTRAIL_URL').':'.env('PAPERTRAIL_PORT'),
],
'processors' => [PsrLogMessageProcessor::class],
],
'stderr' => [
'driver' => 'monolog',
'level' => env('LOG_LEVEL', 'debug'),
'handler' => StreamHandler::class,
'formatter' => env('LOG_STDERR_FORMATTER'),
'with' => [
'stream' => 'php://stderr',
],
'processors' => [PsrLogMessageProcessor::class],
],
'syslog' => [
'driver' => 'syslog',
'level' => env('LOG_LEVEL', 'debug'),
'facility' => LOG_USER,
'replace_placeholders' => true,
],
'errorlog' => [
'driver' => 'errorlog',
'level' => env('LOG_LEVEL', 'debug'),
'replace_placeholders' => true,
],
'null' => [
'driver' => 'monolog',
'handler' => NullHandler::class,
],
'emergency' => [
'path' => storage_path('logs/sfc.log'),
],
],
];