<?php
namespace App\Http\Controllers;
use Monolog\Logger;
use Monolog\Handler\StreamHandler;
use Monolog\Formatter\LineFormatter;
class TestTcmController extends Controller
{
public function testLog(){
$c = new Logger('test');
$message = 'a';
$context = ['msg'=>'df','time'=>time()];
$path = '/home/logs/tian.log';
$hander = new StreamHandler($path);
// $handler = new StreamHandler(storage_path($path) . date('Y-m-d').'.log');
$hander->setFormatter(new LineFormatter(null, null, true, true));
$c->pushHandler($hander);
$c->info($message,$context);
}
}
1. storage_path,框架自带方法,会把路径只想storage文件夹下.
if (! function_exists('storage_path')) {
/**
* Get the path to the storage folder.
*
* @param string $path
* @return string
*/
function storage_path($path = '')
{
return app()->storagePath($path);
}
}
/**
* Get the storage path for the application.
*
* @param string|null $path
* @return string
*/
public function storagePath($path = '')
{
return $this->basePath().'/storage'.($path ? '/'.$path : $path);
}
2. 可用方法: debug|info|notice|warning|error|critical|alert|emergency 可调用的方法详见 Monolog\Logger 类
$c->info($message,$context);
cat tian.log
[2018-11-29 20:17:25] test.INFO: a {"msg":"df","time":1543493845}