我正在使用Laravel 4.2进行一个项目。我想以不同的方式记录文件,就像Laravel(一个大文件或基于日常的文件)中提供的方法一样。
我想遵循的方法是
- 将为每天创建一个目录,而不是像laravel的Log::useDailyFile()方法提供的那样为每天创建文件
- 每个目录将包含每个公司的日志文件,日志文件将是公司名称+id
我使用以下代码为每家公司创建了不同的日志文件:
if (Config::get('app.log') != 'daily') {
Log::useFiles(storage_path().'/logs/laravel.log', Config::get('app.log_level'));
}
else {
$companyId = isset($_COOKIE['companyId'])?$_COOKIE['companyId']:null;
$company = Company::where('id', $companyId)->get();
$companyName = $company[0]->name;
$companyName = str_replace(' ', '_', $companyName);
Config::get('app.log_max_files'), Config::get('app.log_level'));
Log::useDailyFiles(storage_path().'/logs/'.$companyName.'_'.$companyId.'-laravel.log', Config::get('app.log_max_files'), Config::get('app.log_level'));
}
但这些都存储在同一个名为"日志"的文件夹中。
我的基本问题是,如何每天创建一个文件夹,然后将每个公司特定日期的日志文件保存在日期文件夹中。即今天是14-12-2015,这应该创建一个名为"14-12-2015"的文件夹,并将其中的日志文件保存为"Company_01.log"answers"Company_02.log"。
您应该运行一个cron作业,并根据您的意愿提及运行时间(24小时内1次)。
cron应该指向一条路径,它应该引导一个控制器,该控制器将执行以下工作。
步骤1:在当前日期创建一个目录
File::makeDirectory('/path/to/directory', 0775, true);
这是的参考链接
步骤2:编写日志
$companyName = 'Retrieve from your DB';
Log::info($companyName);
这是官方文档,称之为