問題タブ [log4php]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - log4php が ubuntu12.04 の mysql-cluster データベースへの接続に失敗しました
全て、
私のlog4phpは、新しいサーバー環境でこのエラーを受け取ります。
PHP 警告: log4php: [LoggerAppenderPDO:default]: データベースへの接続に失敗しました。アペンダーを閉じます。エラー: ../log4php/LoggerAppender.php の 283 行目にドライバーが見つかりませんでした
log4php (1. config.xml ファイル 2. 同じ log4php バージョン) の設定は、ローカル開発と同じであり、完全に機能します。新しいサーバーのファイルに単純にログを記録しようとしましたが、動作します。これは、log4php lib に問題がないことを意味します。また、ローカルの log4php lib を使用して、ローカル スクリプトから新しいサーバーのデータベースにログを記録することもできます。これは、サーバーが log4php のログを認識できることを意味します。
これは、サーバー自体からデータベースへの認証に関連していると思います。しかし、何が問題で、それを解決する方法がわかりません。何か案が?
回避策:
いくつかの検索とテスト (mysqli ではなく PDO を使用してデータベースに接続するスクリプト、こちらを参照) の後、akluth が指摘したように、問題が pdo_mysql 関連ドライバーの欠如によって引き起こされていることを確認しました。php5-mysql を再インストールしようとしましたが、失敗しました。php.ini を変更しようとすると、さらにエラーが発生しました。これは、mysql-cluster の設定が通常の mysql と異なる可能性があるためだと思います。新しいサーバーは実稼働サーバーであるため、これには触れず、通常の mysql 設定でスクリプトを他のサーバーに移動することにしました。
php - log4php ロガーの加法性
log4php構成ドキュメントには、ルートロガーからの継承を停止する「加法性」と呼ばれる構成オプションがあります。
ただし、PHP 形式の構成ファイルに追加したところ、ルート ロガーは、ロガー内にqueryLogger
のみ表示されるはずのエントリをまだログに記録しています。
私の目標は、ログインするだけでqueryLogger
、ログインしないことですrootLogger
。私は何を取りこぼしたか?
php - 複数のロガー
アプリのさまざまな領域がさまざまなファイルにログを記録する複数のロガーを作成したいと考えています。たとえば、ユーザー データの取得に関連するすべてのクラスは user.log に記録され、購入に関するすべての機能は purchase.log に記録されます。ロガーとアペンダーのセットアップに構成配列メソッドを使用しています。私のindex.phpで:
クラスAは次のとおりです。
デフォルトまたはルート ロガーにはログを記録できますが、この例では classALogger にログを記録できません。助言がありますか?
logging - log4php を使用した zend フレームワーク 2 のシングルトン ロガーの構造
log4php をダウンロードし、私のスケルトン zend 2 フレームワーク アプリケーションのシングルトン リファレンスとして機能する logger という名前のモジュールを作成しました。application.config にモジュール「Logger」を登録し、アプリケーションの構造を次のようにしました。
モジュール
- 他のモジュールは「ロガーを使用します」
ロガー
- 構成
- module.config.php
- ソース
- log4phpコミュニティのlog4php「phpから改名」コード
モジュール.php
autoload_classmap.php
- 構成
module.config.php は次のとおりです。
);」
moudle.php には、「getConfig() および getAutoloaderConfig() と 'Logger' => DIR . '/src/log4php/' . 'Logger」があります。
autoload_classmap.php "return area();"
質問:
「ロガー」モジュールを自動登録して使用するにはどうすればよいですか。どんな提案も役に立ちます、ありがとう!
php - log4php は反直観的です (ロガーレベルを尊重していませんでした)
log4php を使用しようとしていますが、構成を理解するのに問題があります。log4j xml の動作を同じ log4php xml と比較しています。同じコード。しかし、出力が異なります。ドキュメントからは、5 行がログに記録されると予想されますが、log4php では 1 行しか記録されません。どうか、私は自分自身を狂わせています。
PHP コード:
XML 構成:
出力:
予想される出力 (jython+log4j で同じ構成と同じコードで生成):
ジソンコード:
Jython XML 構成:
ありがとう!
php - Apache がサービスとして実行されている場合、Apache コンソール出力はどこに行くのですか?
(Windows 7 OS) - Apache の log4php を使用しています。このページ
http://logging.apache.org/log4php/quickstart.html
は、Apache Web サーバーによって実行される PHP ではなく、コンソール ウィンドウで実行される PHP 用のようです。ただし、後者のコンテキストでのログインに興味があります。
「高度な例」の下で、コードは期待どおりにログ ファイルに記録されます。しかし、「これにより、コンソールに次の出力が生成されます: INFO - リフトオフがあります」とも記載されている場合、この出力が実際にどこに行くのかを見つけようとしています。ブラウザにも組み込みの Apache ログ ファイルにも記録されませんでした。
PHP stdout/output に関する次の質問を見つけました: PHP stdout on Apache- そして、インストールされた Apache サービスをシャットダウンした後、(BASH for Windows を使用して) 次のコマンドを実行しました (代わりに「フォアグラウンド」で Apache を実行するため)
httpd -D FOREGROUND -k start
。ブラウザか。また、組み込みの Apache ログ ファイルにも記録されていません。コンソール出力を見つけることができる場所/場合はありますか?
php - log4php レンダラーがオブジェクトを文字列に変換できない
私は log4php を使用しており、オブジェクト内で、メソッドの開始時と終了時にオブジェクト変数をログに記録したいと考えています (デバッグ目的で)。log4php のレンダラー機能に出会い、それは素晴らしいアイデアだと思いましたが、機能させることができません。
アプリケーションは、log4php がオブジェクトを文字列に変換できないことを示すエラーをスローします。レンダラーが機能するために何か他のことをする必要がありますか?
注意すべき点 - オブジェクトにはいくつかのプライベート変数と保護変数がありますが、パブリック変数はありません。おそらくこれは問題ですが、ドキュメントのどこにもその文を書きませんでした。
前もって感謝します