Rubyã®ã³ã¼ãã ã¨ä»¥ä¸ã®ããã«æ¸ãã¯ã
require 'logger'
logfile = File.open('path/to/logfile', 'a')
logger = Logger.new(logfile, 'daily')
ããããã®ã³ã¼ãã§ã¯ãã°ãã¼ãã¼ãããããã¨ã©ã¼ãåã
ããã©ããããç¾ç¶ã®ãã°ã«ãæ¸ãè¾¼ã¿ãã§ããªããªã£ã¦ãã¾ã
ãã®æ§åã¯ä»¥ä¸ãã°ããã¯ã£ãããã
(ããã§ã¯delayed_job.logããã¼ãã¼ããããã¨ãã¦ãã)
log shifting failed. Permission denied @ rb_file_s_rename - (<sinatra_project_root>/log/delayed_job.log, <sinatra_project_root>/log/delayed_job.log.0)
log writing failed. closed stream
ããã解決ããããã«ã¯ããã°ãã¼ãã¼ããLoggerã®æ©è½ã¨ãã¦è¡ãã®ã§ã¯ãªããWindowsãªãã§ã¯ã®ã¿ã¹ã¯ã¹ã±ã¸ã¥ã¼ã©ã使ã£ã¦è§£æ±ºãã
(Linuxãªãcronã使ã)
ããæ¹
ä¾ãã°ãlog/app.logã¨ãããã°ãã¡ã¤ã«ãåºåãã¦ããç®æã®ã³ã¼ãã以ä¸ã®ããã«ä¿®æ£ãã
logfile = File.open('log/app.log', 'a')
logger = Logger.new(logfile)
'daily'ãå¤ããã¨ã§ãLoggerã¯ãã¼ãã¼ãããªããªã
æ´ã«ãã¿ã¹ã¯ã¹ã±ã¸ã¥ã¼ã©ã§å®è¡ããã¹ã¯ãªãã(ããã§ã¯powershellãæ³å®)ã以ä¸ã®ããã«è¨è¿°ãã
:: ã¿ã¹ã¯ãåæ¢
schtasks /End /TN "ã¢ããªãèµ·åããã¿ã¹ã¯å"
:: æ¢åãã°ã®ãã¼ãã¼ã
$currentDate = Get-Date -Format "yyyy-MM-dd"
cd path/to/project_root
cp log/app.log log/app.log.$currentDate
Clear-Content log/app.log
:: ã¿ã¹ã¯ãèµ·å
schtasks /Run /TN "ã¢ããªãèµ·åããã¿ã¹ã¯å"
å¦çå
容ã¯ä»¥ä¸
- ãã°(log/app.log)ãåãã¦ããã¢ããªãåæ¢
- ãã°ããªãã¼ã ãã¦ã³ãã¼
- å
ã
ã®ãã°ã®ä¸èº«ãã¯ãªã¢
- ã¢ããªãèµ·å
â»ããã¾ã§ãWindowsä¸ã§ã¢ããªãèµ·åããããã«ã¿ã¹ã¯ã¹ã±ã¸ã¥ã¼ã©ã使ã£ã¦ããå ´åã«éãããã以å¤ã®æ¹æ³ã§å®æå®è¡ãã¦ããå ´åã¯ããã®å®è¡å
ãæ¢ãã¦ããåããã¨ãããã°è¯ã
ä¸è¦ããã§è§£æ±ºã ããã¾ã åé¡ãæ®ãã
æ¬æ¥ã®Loggerã«ãããã°ãã¼ãã¼ãã§ããã°ãä¸å®æéããå¤ããã°ã¯èªåã§åé¤ãã¦ããããããã®æ¹æ³ã ã¨æ示çã«ãã°åé¤ãããªãéãããã°ã¯å»¶ã
ã¨ä½ãç¶ãããã¦ãã¾ã
ãã£ã¦ãå
ç¨ã®ã¹ã¯ãªããã以ä¸ã®ããã«ä¿®æ£ãããã¨ã§ãä¾ãã°6æ¥åã®ãã¼ãã¼ãæ¸ã¿ãã°ãã¡ã¤ã«ãåé¤ãããã¨ãã§ãã
:: ã¿ã¹ã¯ãåæ¢
schtasks /End /TN "ã¢ããªãèµ·åããã¿ã¹ã¯å"
:: æ¢åãã°ã®ãã¼ãã¼ã
$currentDate = Get-Date
$currentDateFormatted = $currentDate.ToString("yyyy-MM-dd")
$deleteDateFormatted = $currentDate.AddDays(-6).ToString("yyyy-MM-dd")
cd path/to/project_root
cp log/app.log log/app.log.$currentDateFormatted
Clear-Content log/app.log
rm log/app.log.$deleteDateFormatted
:: ã¿ã¹ã¯ãèµ·å
schtasks /Run /TN "ã¢ããªãèµ·åããã¿ã¹ã¯å"
ããã§ã5æ¥åã¾ã§ã®ãã°ãã¡ã¤ã«ãæ®ãã¤ã¤ãã°ãã¼ãã¼ããå¯è½ã
ãã.tar.gzãªã©å§ç¸®ãããããªããããç¨ã®ã³ã¼ãã追å ããã°è¯ãã
ã¹ã¯ãªãããåºæ¥ä¸ãã£ãããã¿ã¹ã¯ã¹ã±ã¸ã¥ã¼ã©ã«æ¯æ¥0:00å®è¡ããããã«ã¿ã¹ã¯ç»é²ããã°å®æ
â»ãããµã¼ãèµ·åã¿ã¹ã¯ãå¥éä½ã£ã¦ããåãæå»ã«ãã¦ãããªãã念ã®çºæéã¯ããããã»ããè¯ã
ä¾) ãµã¼ãèµ·åã¿ã¹ã¯0:00ããã°ãã¼ãã¼ã0:05
ãã¨ãã
Windowsã§Rubyã§ã®éçºã¯ãã¹ãã§ã¯ãªã