- ベストアンサー
syslogで出力されるパス
今syslogで出力されるパスを変更したいのですが、どうやるのか全く不明です。 現在、デフォルトのerror_logのパスは/var/log/abc.logなのですが、 一部の処理で、syslogで/var/log/abc/abc.logに出力をしています。 それに倣おうと思うのですが、どうやって/var/log/abc/abc.logに 出力しているのか全然分かりません。 syslogを使う時にパス指定など出来るのでしょうか? またはどこかでini_set()しているという事になるのでしょうか?
- めとろいと(@naktak)
- お礼率66% (482/721)
- PHP
- 回答数1
- ありがとう数1
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
参考URL 「システム管理の基礎 syslogdの設定をマスターしよう」 http://www.atmarkit.co.jp/flinux/rensai/root03/root03b.html 「syslogメモ」 http://grin.flagbind.jp/archives/2006/01/syslog.html
関連するQ&A
- syslogからログが出力されなくなりました。
こんにちは。 昨日よりログの出力が一切されなくなりました。 以下の状況です。 OS:Redhat ES4 カーネル:2.6.9-11 /etc/syslog.conf(デフォルトのまま) *.info;mail.none;・・・ /var/log/messages syslogデーモンの状況 psでの結果 syslogd -m 0 syslog以外のアプリケーションが出力しているログは 各ログに出力されています。 messages以外に、cron、secureなどsyslogが担当しているログが全て出力されません。 ログローテーションは使用しており、指定した日時に0バイトのままローテーションされています。 わかる方お願いします。
- 締切済み
- Linux系OS
- syslog.conf アクションについて
CentOS5.2を使用しております。syslogの設定(/etc/syslog.conf)の書式は「facility.priority action」で、このactonのところにログ出力先等を指定すると思いますが、デフォルトの設定で 「mail.* -/var/log/maillog」 というのがあるのですが、このaction部分にある"-"は何を示しているんでしょうか?デフォルト設定の他のものは"-"で始まるものはなく、「/var/log・・・」等と始まっていますが、mailだけ"-"から始まっているので気になりました。
- ベストアンサー
- Linux系OS
- Sys::Syslogモジュールでsyslogを出力したい
以下の様なスクリプトでsyslogを出力したいのですが、出力することができません。どなたかご教授ください。 環境は vine2.6r4 perl5.6.1 で、/etc/syslog.confにlocal4.* /var/log/hoge.logを追加後、syslogdを再起動しました。 プログラムを実行するとhoge.logファイルは出力されます。 また、logger -p local4.err messageでhoge.logにmessageが出力されることも確認済みです。 ------------- #!/usr/bin/perl -w use strict; use Sys::Syslog qw(:DEFAULT setlogsock); # 実行ファイル名の取得 my ($prog_name) = $0; $prog_name =~ s/(.*)\/(.*)/$2/; # Sys::Syslogモジュールの引数 my($ident, $logopt, $facility); my($ident) = $prog_name; my($logopt) = 'ndelay'; my($facility) = 'local4'; # 処理開始 &put_syslog("info", "process start."); sub put_syslog { my($priority, $msg) = @_; openlog($ident, $logopt, $facility) || die "put_syslog: can't open syslog\n"; syslog($priority, $msg); closelog(); }
- ベストアンサー
- Perl
- syslogでログファイルの出力方法
現在、syslogを利用してログファイルを出力しようと思っています。 syslogというサービスを利用する事を教えて頂き、syslog.confを書き換えて Linux上でsyslogのサービスは起動しており、ファイルが自動的に作成されました。 (パーミッションが600なので644にしたいのですが、ひとまず置いておき、 手動でテスト的に777に変更しました) しかし、syslogのサービスが正常に動作しているかの確認は出来ておりません。 それでいてPHPからログが出力されるようにするコーディングが分かりません。 別環境の他のスクリプトで既に実績があるのですが、書き方が違う分、ダメなのかもしれません。 初めて使うので、定数が実際に何を意味しているのかがPHPのマニュアルを見ても意味不明です。 宜しければPHPを介在しない、syslogが正常に動作してログを出力してくれるLinuxのコマンドと、 PHPでのsyslogの書き方をご教示下さい。 現在、スクリプトはこんな感じです。 A.php $abc = LOG_LOCAL5; //実際はメソッドの引数(参照渡し) //↓実際は別クラスのメソッド $log = "test"; define_syslog_variables(); openlog('log', LOG_PID | LOG_PERROR, $abc); syslog(LOG_NOTICE, $log); closelog();
- 締切済み
- PHP
- syslogの出力先追加
syslogの出力先を追加する方法について教えていただきたいです。 使用環境は、Red Hat系のLinuxです。 現状、syslog.confの設定が下記のようになっているため、messagesファイルに syslogが大量に出力され、必要なログを探すのが大変な状態です。 syslog.confの中身 *.info;mail.none;authpriv.none;cron.none /var/log/messages authpriv.* /var/log/secure mail.* /var/log/maillog cron.* /var/log/cron *.emerg * uucp,news.crit /var/log/spooler local7.* /var/log/boot.log そこでfacilityのlocal0-7を使用し、syslogに出力するファイルを分散 させようと考えています。 例えば、local0の出力先を追加するのは、syslog.confを下記のように 修正すればよいでしょうか。 (実際に試せばよいのでしょうが、多くの人達が使用している環境のため、 syslogd再起動が出来ない状態です。) messagesの設定 修正前:*.info;mail.none;authpriv.none;cron.none /var/log/messages 修正後:*.info;mail.none;authpriv.none;cron.none;local0.none /var/log/messages local0の設定 追加:local0.* /var/log/ファイル名 ご回答の方、よろしくお願いします。
- ベストアンサー
- Linux系OS
- syslog出力について
solarisでperlでsyslogに出力するとき、メッセージIDとプライオリティを出力することができません。 loggerコマンドだと、 logger -p user.info -t UUU テストメッセージ を実行すると、syslogには、 Jan 7 18:37:25 HOST UUU: [ID 702911 user.info] テストメッセージ と出力されます。 しかし、次のperlプログラムを実行しても、 #!/bin/perl use Sys::Syslog qw(:DEFAULT setlogsock); setlogsock('inet'); openlog("UUU","cons",LOG_USER); syslog(LOG_INFO,"テストメッセージ"); closelog(); syslogには、 Jan 7 18:44:01 HOST UUU: テストメッセージ としか表示されません。 [ID 702911 user.info]を表示することはできないのでしょうか?
- ベストアンサー
- Perl
- syslog設定について
ネットワーク機器のロギング機能により、ルータ/スイッチのログをRedhatLinuxEEサーバのSyslogに出力させる場合、機器毎に分けてログファイルを出力させるような設定は可能でしょうか。 Ex)ルータのログは、/var/log/router.logファイルに、 スイッチのログは/var/log/switch.logファイルに出力させる。
- ベストアンサー
- Linux系OS
- ループ内でsyslog出力
いつもお世話になっております。 標題についてご教授願えないでしょうか。 今までfwrite等でファイルに出力していた内容を SYSLOGにて出力する事となりました。 その際、これまでfor(i=0; ・・・)等のループ内で ファイル出力して、ループを抜けたらfclose()としていた処理で、 同様の処理が出来るが教えて頂きたいです。 纏めと、ループ内のfwriteをsyslogに変更 openlogとcloselogはループ外
- ベストアンサー
- PHP
- 再度 PHPのSYSLOG出力方法
いつもお世話になっています。 昨日PHPでSYSLOGの出力方法について質問させて頂いたものです。 (1)ループ外でopenlog,closelog、ループ内でsyslogする (2)ループ内でopenlog,syslog,closelogをやる ひとつの処理で複数ファイルに出力する場合、 (2)の方法でいっぺんにまとめて出そうと思い、 openlog("goo_gn_syslogtest" ,LOG_CONS | LOG_NDELAY, LOG_LOCAL5); syslog(LOG_INFO, "test\ntest2"); closelog(); と$messageに改行コードを入れると、ログ内に test#012test2 と書かれていました。 設定で、$messageの後は改行がされる事になっています。 一行一行出力するsyslogに対してはまとめて出力する事は不可能なのでしょうか。 宜しくお願い致します。
- 締切済み
- PHP
- syslog.confの設定について
ファシリティlocal6のログをtest.logに出力させるため syslog.confに下記のような行を追加しました。 local6.* /var/log/test.log しかし、ファシリティlocal6で出力させたログが期待通りtest.logに出力されません。 (local6.debugのログは *.=debug /var/log/debug.log という行があるためdebug.logに出力されていました) OSは FreeBSD8.1です。 なにがおかしいのか、確認すべき点を教えていただけないでしょうか。 よろしくお願いします。
- ベストアンサー
- BSD系OS
お礼
ありがとうございます。まさにこれを利用しているようです。 が、PHPの書き方が不明で真似しても出力されないので、 別途質問させて頂きます。