表单增加了个submitbutton,则trace无效!

表单增加了一个CHtml::submitButton,如果点击这个新的submitButton,在action里面我用Yii::trace(‘1’,‘cn.sl.f’);是无效的,不会把数据写入file。

如果点击原来的submitButton是有效的。


<?php echo CHtml::submitButton('提交保存后设置投票类型',array('id'=>'nextSubmit')); ?>

<?php echo CHtml::submitButton('提交保存',array('id'=>'saveSubmit')); ?>

已经配置了


				array(

					'class'=>'CFileLogRoute',

					'levels'=>'trace',

					'categories'=>'cn.sl.f',

				),

你是怎么处理这个新的submit请求的?log信息的派发是在app最后一步完成的。如果你中途用了exit,那么就丢掉了。

action代码:


	public function actionCreate(){

		$model=new Vote;Yii::trace(1,'cn.sl.f');

		if(isset($_POST['Vote'])){$model=new Vote;Yii::trace(2,'cn.sl.f');

			$model->attributes=$_POST['Vote'];

			if($model->save()){$model=new Vote;Yii::trace(3,'cn.sl.f');

				Yii::app()->user->setFlash('message',array('title'=>'消息提示','content'=>'投票设置新建成功!','class'=>'info','animate'=>'2000'));

				if($_POST['command']=='save'){

					$this->redirect(array('admin','id'=>$model->id));

				}else if($_POST['command']=='next'){

					$this->render('set',array('model'=>$model),false,true);exit();

				}

			}

		}


		$this->crumbs=array(array('name'=>'系统管理'),array('name'=>'投票设置新建'));

		$this->layout='layout1';

		$this->render('create',array('model'=>$model),false,true);

	}

点击 提交保存后设置投票类型 按钮 页面成功跳转到 set页面

application.log记录如下

2009/09/10 21:04:20 [trace] [cn.sl.f] 1

注解:这个1的产生是开始进入 create产生的,点击 提交保存后设置投票类型 提交后不写入记录。

点击 提交保存 按钮 页面成功跳转到 admin页面

application.log记录如下

2009/09/10 21:04:20 [trace] [cn.sl.f] 1

2009/09/10 21:06:44 [trace] [cn.sl.f] 1

2009/09/10 21:06:50 [trace] [cn.sl.f] 1

2009/09/10 21:06:50 [trace] [cn.sl.f] 2

2009/09/10 21:06:50 [trace] [cn.sl.f] 3

注解:前面两个1是进入create产生的。后面的1、2、3是提交保存这个按钮产生的。

你的确用了exit()了。改成Yii::app()->end()就可以了。