我有一个发送asl日志消息的C / C ++ / Objective-C项目。
asl.conf中的默认配置将所有日志消息的级别高于通知系统日志(请参阅下面的规则),并且我只想取消我的特定设施的此规则。
这意味着,我所在设施下的所有日志消息都将仅路由到我的日志文件,而不是路由到system.log。
这是我的设施定义为com.bla.bla的configuraiton asl.conf ? [< = Level notice]文件system.log
my_asl.conf
? [<= Level notice] [=Facility com.bla.bla] skip / ignore
我试过跳过并忽略,但我没有做任何改变。唯一有效的方法是从asl.conf中删除规则,但我不想改变其他进程/工具的行为并修改一些默认规则。
有什么规则我可以添加到仅禁止来自system.log的消息吗?
谢谢
答案 0 :(得分:0)
在一遍又一遍地重读asl.conf手册后,我发现我可以使用&#39;声明&#39;命令忽略我的特定规则的asl.conf基本配置文件
声明与“&_ 39;声明”相关联的查询匹配的邮件。主ASL配置文件/etc/asl.conf不处理操作。虽然声称的消息不是由/etc/asl.conf处理过的,但它们并不完全是私有的。其他模块也可以声明消息,并且在一些情况下,两个或更多个模块可以具有与相同消息匹配的声明动作。此操作仅阻止/etc/asl.conf处理。 '声明&#39;动作之后可能只有关键字&#39;。在这种情况下,只有符合“声称”的消息才会被声明。查询将由后续处理 模块中的规则。
我按照标签说明&#39;索赔&#39;并将以下配置添加到我的配置文件中:
public function rules()
{
switch($this->method())
{
case 'GET':
case 'DELETE':
{
return [];
}
case 'POST':
{
return [
'morph' => 'required',
'sex' => 'required',
'genetics' => 'required',
'name' => "required|unique:geckos,name,NULL,id,user_id," . \Auth::user()->id
];
}
case 'PUT':
case 'PATCH':
{
return [
'morph' => 'required',
'sex' => 'required',
'genetics' => 'required',
'name' => "required|unique:geckos,name,NULL,id,user_id," . \Auth::user()->id
];
}
default:break;
}
}