Plone產品安裝的日誌旋轉將是一個不錯的功能。關於將日誌旋轉整合到Plone中的最佳做法是什麼?使用Plone進行日誌旋轉
我找到了這篇文章:http://encolpe.wordpress.com/2010/06/17/how-to-get-log-files-rotate-in-zope-with-buildout/但是因爲在plone.org上沒有任何文檔,所以我想平安社區瞭解最佳實踐,不要填滿他們的硬盤。
Plone產品安裝的日誌旋轉將是一個不錯的功能。關於將日誌旋轉整合到Plone中的最佳做法是什麼?使用Plone進行日誌旋轉
我找到了這篇文章:http://encolpe.wordpress.com/2010/06/17/how-to-get-log-files-rotate-in-zope-with-buildout/但是因爲在plone.org上沒有任何文檔,所以我想平安社區瞭解最佳實踐,不要填滿他們的硬盤。
類似於勞倫斯上面所說的,但保持大小在10mb以下並且只保存1箇舊文件。
<eventlog>
level INFO
<logfile>
path /path/to/plone4/var/log/client1.log
max-size 10mb
old-files 1
</logfile>
</eventlog>
plone.recipe.zope2instance現在可以生成這個。例如,您可以指定以下選項:
event-log-max-size = 10mb
event-log-old-files = 3
我一直在使用iw.rotatezlogs
,因爲至少早期的Plone 3非常成功。我從你的鏈接中看到,我不再需要iw.rotatezlogs。
我不喜歡依靠logrotate,因爲它不能在我必須部署到的一臺Windows服務器上使用。
就我所知,pure-zope解決方案(我還沒有測試過)不做日誌文件壓縮(至少我在ZConfig/components/logger/handlers.xml中看不到它這是我認爲應該定義的地方),所以我懷疑我會留在iw.rotatezlogs中。
下面是我們做什麼,這很簡單,但工程:
在你的buildout添加此部分:
[logrotate]
recipe = collective.recipe.template
input = ${buildout:directory}/templates/logrotate.conf
output = ${buildout:directory}/etc/logrotate.conf
而且在templates/logrotate.conf
rotate 4
weekly
create
compress
delaycompress
missingok
${buildout:directory}/var/log/instance1.log ${buildout:directory}/var/log/instance1-Z2.log {
sharedscripts
postrotate
/bin/kill -USR2 $(cat ${buildout:directory}/var/instance1.pid)
endscript
}
${buildout:directory}/var/log/instance2.log ${buildout:directory}/var/log/instance2-Z2.log {
sharedscripts
postrotate
/bin/kill -USR2 $(cat ${buildout:directory}/var/instance2.pid)
endscript
}
添加任何你需要其他的日誌旋轉。然後是將/etc/logrotate.conf鏈接到生成的文件。
再次,它是以Unix爲中心的 - 不會在Windows上工作。我不喜歡*在Windows上運行Plone/Zope,但有些客戶需要它。 – Auspex 2012-02-27 15:14:15
你是絕對正確的,這隻適用於類Unix環境。再次,這個問題並沒有問什麼是最好的跨平臺的方式做logrotation,也沒有問什麼應該去plone手冊。它要求提供最佳實踐。在我的最佳實踐列表中,窗口未列出。我完全明白你爲什麼從你的觀點來看待它,不要誤會我的意思。無論如何,我將停止回覆我們最近開始的這個巨魔式的問題,這是對堆棧資源和我的能量的浪費。 – ggozad 2012-02-27 15:25:54
將這稱爲「巨魔型問題」並不公平 - 這是一個非常好的問題,我很高興從它那裏瞭解到Zope現在已經內置了logrotation。 雖然我同意你在Windows上運行Zope幾乎不是最佳實踐,但我不能接受日誌輪換的最佳實踐涉及一種無法在Zope支持的所有平臺上工作的方法。 – Auspex 2012-02-28 15:55:49
ZConfig支持標準庫RotatingFileHandler和TimedRotatingFileHandler。以ZConfig測試爲例:
<eventlog>
<logfile>
path /path/to/file.log
level debug
when D
interval 3
old-files 11
</logfile>
</eventlog>
這將每隔三天滾動日誌,保留11箇舊文件。
您可以在實例配方中使用事件日誌自定義/訪問日誌自定義參數將這些配置片段放置在您的構建塊中。 plone.recipe.zope2instance
米克,你應該直接問我;)
我的博客文章還是不錯的,這仍然功能在Zope2無證。它可以與Plone 4和Plone 5一起使用。擴展iw.rotatelogs僅爲Plone 3設計。
使用logrotate並不好,因爲它在旋轉過程中不處理記錄的情況。它可以讓你的實例靜靜地崩潰並在RAM中寫入日誌,直到你重啓實例。
查看我的答案下面...這將是最簡單的選擇..只需添加2行到您的構建 – sureshvv 2012-11-19 04:37:50