use support\Log;
Log::debug(' [x] 觀眾在線人數(shù)統(tǒng)計(jì) ');
以上日志會(huì)存在偶爾不記錄日志問(wèn)題
monolog\src\Monolog\Handler\StreamHandler.php的第158行
$stream = $this->stream;
if (!is_resource($stream)) {
throw new \LogicException('No stream was opened yet');
}
if ($this->useLocking) {
// ignoring errors here, there's not much we can do about them
flock($stream, LOCK_EX);
}
$this->streamWrite($stream, $record);
if ($this->useLocking) {
flock($stream, LOCK_UN);
}
// ignoring errors here, there's not much we can do about them
我猜有可能是因?yàn)榛コ饬?/p>
這個(gè)情況我覺(jué)得有可能是互斥問(wèn)題,因?yàn)槲募渔i了,也是很少的情況下會(huì)有不記錄的情況產(chǎn)生,你可以把你的進(jìn)程數(shù)或者并發(fā)寫(xiě)入文件的地方處理一下,縮小范圍排查一下,我覺(jué)得應(yīng)該是這個(gè)問(wèn)題
好的,這個(gè)明天我試試。這個(gè)會(huì)不會(huì)和我使用 tail -f webman.log
實(shí)時(shí)查看日志有關(guān)系
你如果用tail -f來(lái)進(jìn)行觀察的話,不一定準(zhǔn)確,tail -f如果文件改變了,他就會(huì)去查看文件內(nèi)容;你不如用最原始的方法,就是在一定時(shí)間內(nèi)寫(xiě)入固定條數(shù),最后在檢查條數(shù)是否符合預(yù)期
上面的問(wèn)題已經(jīng)在生產(chǎn)環(huán)境了。一定時(shí)間內(nèi)寫(xiě)入固定的條數(shù)是沒(méi)問(wèn)題的。就是這個(gè)幾率是很低了,出現(xiàn)問(wèn)題也是跟蹤了幾天。發(fā)現(xiàn)這個(gè)問(wèn)題才來(lái)這里提問(wèn)的。下來(lái)我不實(shí)時(shí)查看是否會(huì)有這個(gè)問(wèn)題??纯?code>tail -f 會(huì)不會(huì)出發(fā) $this->useLocking
這個(gè)條件
我這里推薦,可以依據(jù)StreamHandler重寫(xiě)一個(gè),實(shí)現(xiàn)HandlerInterface就好了,在遇到互斥的問(wèn)題的時(shí)候,可以阻塞,或者用其他方法解決