`

Yii文件日志配置小结

阅读更多

    一直对Yii文件日志的配置没有关注,基本上都是默认配置,最近发现所有日志都写在一个文件里,并且日志文件都保存在Yii项目的runtime目录下,查看非常不方便,于是想将不同类型的日志进行拆分,并且单独放入空间较大的数据盘,稍微看了一下Yii的文件日志类,测试了一下相关配置,觉得配置还挺方便的,记录下来:

在main.php文件中,配置日志的地方

 

 

配置:
'log'=>array(
	'class'=>'CLogRouter',
	'routes'=>array(
		array(
			'class'=>'CFileLogRoute',
			'levels'=>'error, warning, info',
			'categories'=> 'application.*',//日志文件分类,只有调用时使用了appplication都会默认写入默认文件application.log
                         'logPath'=>'/mnt/php/logs', //日志文件路径
			'maxFileSize'=>5120,//日志大小
			'maxLogFiles'=>20,//保存最大个数,Yii会按时间保留最近20个文件
		),
		array(
			'class' => 'CFileLogRoute',
			'levels' => 'error, warning,info',
			'categories'=> 'db.*',//日志文件分类,db相关
			'logFile'=> 'db.log',//保存数据库操作相关日志
                        'logPath'=>'/mnt/php/logs', //日志文件路径
			'maxFileSize'=>5120,//日志大小5M,以kb为单位的
			'maxLogFiles'=>20,
		),
		array(
			'class' => 'CFileLogRoute',
			'levels' => 'trace',
			'categories'=> 'debug.*',
			'logFile'=> 'debug.log',//保存debug日志
			'logPath'=>'/mnt/php/logs',
			'maxFileSize'=>5120,
			'maxLogFiles'=>20,
		),
	)
),

调用:
//默认写入application.log
Yii::log($content,CLogger::LEVEL_INFO); 
//将$content写入/mnt/php/logs/debug.log,级别为trace
Yii::log($content,CLogger::LEVEL_TRACE,'debug'); 
//以下三种写法都会将$content写入/mnt/php/logs/db.log,并且在每行日志前面会使用db.model1,
//db.model2,db.model3区分,级别均为error
Yii::log($content,CLogger::LEVEL_ERROR,'db.model1');
Yii::log($content,CLogger::LEVEL_ERROR,'db.model2');
Yii::log($content,CLogger::LEVEL_ERROR,'db.model3');


源码:framework/logging/CFileLogRoute.php
/**
	 * @var integer maximum log file size
	 */
	private $_maxFileSize=1024; // in KB
	/**
	 * @var integer number of log files used for rotation
	 */
	private $_maxLogFiles=5;
	/**
	 * @var string directory storing log files
	 */
	private $_logPath;
	/**
	 * @var string log file name
	 */
	private $_logFile='application.log';

这几个参数都提供了get和set方法,所以可以在配置里面配置即可

另外一些参数可以参考父类:framework/logging/CLogRoute.php
/**
	 * @var string list of levels separated by comma or space. Defaults to empty, meaning all levels.
	 */
	public $levels='';
	/**
	 * @var mixed array of categories, or string list separated by comma or space. 
	 * Defaults to empty array, meaning all categories.
	 */
	public $categories=array();

应该还有一些可以配置,暂时无用到,没做深入研究了

   日志输出结果:

    
    输出包含几个属性:时间 [日志级别] [日志的分类] 日志内容

    日志分类如果按照上述数据库日志的配置的话,会产生[db.model1]、[db.model2]、[db.model3]之类

 

   好了,这下查起日志来方便多了,并且debug在开发和发布之间随时开和关,不影响其他日志的读写

   来源:http://it.5yun.com.cn/html/y2015/m01/24.html
 
   
 

 

 

 

  • 大小: 1.6 KB
分享到:
评论

相关推荐

    YII Framework框架教程之日志用法详解

    总结来说,YII的框架教程中关于日志的用法是非常灵活和强大的。无论是基础的错误记录还是复杂的性能分析,YII都提供了相应的工具和方法。通过配置文件中的相关设置,可以轻松地将日志信息输出到不同的介质中,并且在...

    Yii配置文件用法详解

    Yii框架配置文件是整个...总结来说,Yii框架的配置文件是应用开发中的关键部分,它允许开发者通过灵活的配置来调整应用行为。通过上述详尽的配置文件实例分析,可以为基于Yii框架的PHP程序设计提供有力的参考和帮助。

    YII2数据库MySQL复制和读写分离配置

    总结来说,MySQL复制和读写分离能够大幅提高数据库性能和可靠性,尤其在YII2框架中,通过合理配置和编程,可以有效实现这一目标。重要的是要理解MySQL复制机制的细节,以及YII2框架提供的数据库访问方式,确保读写...

    详解PHP的Yii框架中日志的相关配置及使用

    一、Yii框架日志配置方法: 默认情况下,Yii框架会把所有日志信息记录在`protected/runtime/application.log`文件中,但是这个默认配置可能不满足所有场景的需求。因此,开发者可以通过配置来改变日志记录的方式和...

    PHP的Yii框架的常用日志操作总结

    Yii的日志系统提供了一系列方便的方法来记录不同等级的日志信息,并且支持多种日志目标,如文件、数据库和电子邮件等。此外,Yii的日志系统还允许用户根据自己的需求自定义日志消息的过滤和格式化,使得日志记录更加...

    yii2 高级模板

    7. runtime:这个目录存放运行时生成的文件,如日志、缓存文件等,不需版本控制。 8. .gitignore:这是一个文本文件,列出了在版本控制系统中应该忽略的文件和目录。 9. composer.json:尽管你提到无需Composer,...

    Yii框架日志操作图文与实例详解

    总结来说,Yii框架提供了灵活的日志管理机制,允许开发者根据需要选择不同的日志级别、日志存储位置,甚至进行性能分析,从而优化代码并确保应用的稳定运行。在实际开发中,合理运用这些日志工具,能够有效地提高...

    Yii 的登录流程

    Yii是一个高度集成的MVC框架,它为Web开发提供了全面的支持,包括但不限于MVC架构、对象关系映射(ORM)、国际化(I18N/L10N)、缓存机制、基于jQuery的AJAX支持、基于角色的访问控制(RBAC)、脚手架生成器、输入...

    yii-basic-app-2.0.7.tgz

    总结一下,"yii-basic-app-2.0.7.tgz"是一个包含Yii 2.0.7基本应用模板的压缩包,它提供了快速搭建Web应用的基础,具备高性能、组件化、安全防护等优点,适合初学者和经验丰富的开发者使用。通过理解和利用这个框架...

    Yii框架PDF中文文档

    ### Yii框架知识点总结 #### 一、概述与新特性 **Yii** 是一款高性能的PHP Web应用程序开发框架,以其简洁高效著称。该框架旨在帮助开发者快速构建安全且高效的Web应用。本文档根据官方中文文档及《Yii权威指南》...

    Yii入门教程之目录结构、入口文件及路由设置

    在这个文件中,我们通常会看到Yii::createWebApplication()函数的调用,这个函数创建了一个Web应用程序实例,并加载了配置文件,使得全局的Yii对象可以通过Yii::app()访问。配置文件中的数据会被绑定到这个全局对象...

    Yii_Cookbook

    ### Yii_Cookbook知识点概述 #### 一、简介 《Yii Cookbook》是一本关于Yii框架的中文参考手册,旨在提供一...以上是对《Yii Cookbook》中提到的部分知识点的总结和解析,希望能帮助开发者更好地理解和使用Yii框架。

    Yii2实现log输出到file及database的方法

    在Yii2中,日志配置可以根据不同的环境来调整。在config/console.php中应确保与config/web.php拥有相同的配置,否则一些基于命令行的操作可能会因为日志配置不一致而导致失败。 另外,根据Yii2的调试模式(YII_...

    Yii 1.1 Application Development Cookbook.pdf

    - **配置文件**:`config/main.php` 文件是主要的配置入口,用于设置应用的基本配置。 ##### 3. MVC 设计模式 - **定义**:Model-View-Controller(模型-视图-控制器)是一种常用的设计模式,将应用程序逻辑分为三...

Global site tag (gtag.js) - Google Analytics