我在webman中,引入了webman/console。我需要在Logger中区分是console调用了还是app/controller中调用了。
众所周知,我无法通过 php_sapi_name() == 'cli' 来判定。
我该如何知道当前是Console还是Controller
https://www.workerman.net/doc/webman/others/bootstrap.html 看这里
嗯嗯。谢谢 @oliusha。在自定义worker中的确可以这样。 我想全局场景中获取。
有点尴尬了。
场景:我以 php start.php start 的方式启动服务,同时定义了一个自定义进程,自定义进程监听8888。
php start.php start
在webman的http场景中,我用 @北月 提供的方法判定 $argv[0] === 'webman'是否在CLI模式下没问题的。但是这时候在自定义进程中,就无效了。。。
在使用Logger的时候,可以自定义extra,我想在http的场景中塞入session_id,用以后续追踪用户, 但是在CLI下,我想extra中塞入getmypid(), 每次使用info/error/warning的时候都要手动塞上比较麻烦,我想在全局通过判定CLI来直接塞上。
结贴了。
function is_cli(){ return !\request(); }
https://www.workerman.net/doc/webman/others/bootstrap.html
看这里
嗯嗯。谢谢 @oliusha。在自定义worker中的确可以这样。 我想全局场景中获取。
有点尴尬了。
场景:我以
php start.php start
的方式启动服务,同时定义了一个自定义进程,自定义进程监听8888。在webman的http场景中,我用 @北月 提供的方法判定 $argv[0] === 'webman'是否在CLI模式下没问题的。但是这时候在自定义进程中,就无效了。。。
在使用Logger的时候,可以自定义extra,我想在http的场景中塞入session_id,用以后续追踪用户, 但是在CLI下,我想extra中塞入getmypid(), 每次使用info/error/warning的时候都要手动塞上比较麻烦,我想在全局通过判定CLI来直接塞上。
结贴了。