1. 概要
「Redmine」は、なんだか登場人物が多くて、混乱してしまうのです。
「Ruby on Rails」上で、動いているので、言語としては、「Ruby」なのだな。
「Ruby」との相性もよくないが、「Rails」さんとは、さらに仲良くないので、わけわからんのですよ。
「Redmine」自体は、全体を表しているの?
さらに、「Passenger」という登場人物までいて。
それらが、好き勝手にログを出力しているので、慣れないものにとっては、混乱の極みなのです。
本ページは、下記のサイトを参考にさせていただきました。
「Passenger PassengerLogLevel の設定」
「Passenger の設定オプション — Redmine.JP」
「Redmineのconfiguration.yml の設定項目 — Redmine.JP」
2. 種類
いくつかログの種類があって、マニュアルページには、それがなんのログに関する話なのかが書いていない。
「Ruby on Rails」を熟知していれば、いちいち説明しなくでも理解できるのかもしれませんが、わたしには、さっぱりです。
どうも、わたしには、以下の3種類あるように見えます。
1つ目は、「Redmine」のインストールやメンテナンスで出力されるログ。
/パス/redmine/log/production.log
に出力されます。
/パス/redmine/config/configuration.yml
で、下記で出力先を定義する?(実は全然違うかもしれない)
# scm_stderr_log_file: /var/log/redmine_scm_stderr.log
scm_stderr_log_file:
2つ目は、「apache」のログ。
/usr/local/etc/apache24/Includes/redmine.conf
で、出力先を制御できますが、特に指定しなければ「apache」のデフォルトのログと同じファイルに出力されます。
3つ目が、一番、難解でありました。
当初、「apache」のエラーログに。
App 19411 output: Creating scope :system. Overwriting existing method Enumeration.system.
App 19411 output: Creating scope :sorted. Overwriting existing method User.sorted.
App 19411 output: Creating scope :sorted. Overwriting existing method Group.sorted.
App 19445 output: [2be83e37-30eb-4498-9c15-fcd8cb47d227] Started GET "/login" for 111.239.158.190 at 2024-05-10 17:09:16 +0900
App 19445 output: [2be83e37-30eb-4498-9c15-fcd8cb47d227] Processing by AccountController#login as HTML
App 19445 output: [2be83e37-30eb-4498-9c15-fcd8cb47d227] Current user: anonymous
App 19445 output: [2be83e37-30eb-4498-9c15-fcd8cb47d227] Rendered account/login.html.erb within layouts/base (Duration: 7.8ms | Allocations: 1783)
App 19445 output: [2be83e37-30eb-4498-9c15-fcd8cb47d227] Rendered layout layouts/base.html.erb (Duration: 194.9ms | Allocations: 52347)
App 19445 output: [2be83e37-30eb-4498-9c15-fcd8cb47d227] Completed 200 OK in 373ms (Views: 169.5ms | ActiveRecord: 55.3ms | Allocations: 94348)
てなログが出力されます。
これが、実にわからない。
参考サイトを元に、やっと、ぼんやりわかってきました。
「Passenger」という人が、出力しているようです。
「Passenger」が何者なのかわかったおらんのですが・・・。
とりあえず。
/usr/local/etc/apache24/Includes/redmine.conf
に、下記の記述を加えることで、「apache」のエラーログとの混在を避けることができます。
PassengerDebugLogFile /パス/passenger.log
3. ローテーション
「apache」「passenger」のログに関しては。
/usr/local/etc/newsyslog.conf.d/apache.conf
に。
# logfilename [owner:group] mode count size when flags [/pid_file] [sig_num]
/var/log/www/*.log www:www 644 36 * $M1D0 BG /var/run/httpd.pid
てな記述をすることで、月ごとにローテーションして、36ヶ月分をキープすることにしています。
サイクルや保持数等の設定に関しては、「メンテナンス・トラブルシュート - newsyslog・crontab(ログローテーション・定時処理)」をご参照ください。
「production.log」のローテーションに関しては、未完。追而書。