質問 > 管理機能 > 管理画面のログ出力方法について |
管理機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
unripe01 |
投稿日時: 2020/2/2 20:11
対応状況: −−−
|
新米 登録日: 2015/6/7 居住地: 投稿: 7 |
管理画面のログ出力方法について [EC-CUBE]3.0.16
[レンタルサーバ]mixhost [OS]Linux [PHP]7.2.26 [データベース]MySQL [WEBサーバ]LiteSpeed [ブラウザ]Google Chrome [導入プラグインの有無]受注ステータス色分けプラグイン [カスタマイズの有無]インストール時にURLからhtmlを無くす https://doc.ec-cube.net/quickstart_remove-html の修正を入れている。 [現象] log_info()に記載したログが出力されない。 src\Eccube\Controller\Admin\Order\OrderController.php で定義されている exportOrder 内の log_info('受注CSV出力ファイル名', array($filename)); は、どこに出力されるのでしょうか。 現状やりたいことは、受注CSV出力時を行うと、一部の受注データがID重複してダウンロードされることがあり、 原因究明のために $qb->getQuery()->getSQL();などで 上記のログ出力タイミングあたりでSQLをログに出力しデバッグようとしています。 ■困っていること:1 log_infoに指定した内容が、site_2020-02-02.log、admin_site_2020-02-02、front_site_2020-02-02、 いずれにも出力されない。 ※PROCESS START~ENDといったadmin.INFO ログは、CSV出力のつど出力されています。 ■困っていること:2 https://mydomain/shop/index_dev.php/{adminsite}/ https://mydomain/shop/html/index_dev.php/{adminsite}/ 各々にアクセスしようとすると以下のエラーが表示される。 ContextErrorException in Application.php line 322: Warning: count(): Parameter must be an array or an object that implements Countable in Application.php line 322 at ErrorHandler->handleError('2', 'count(): Parameter must be an array or an object that implements Countable', '/home/ngwxppoc/public_html/shop/src/Eccube/Application.php', '322', array('request' => object(Request), 'app' => object(Application), 'pathinfo' => '/管理画面URL/', 'allowHost' => null)) at count(null) in /home/ngwxppoc/public_html/shop/src/Eccube/Application.php line 322 at Application->Eccube\{closure}(object(Request), object(Application)) at call_user_func(object(Closure), object(Request), object(Application)) in Application.php line 338 at Application->Silex\{closure}(object(GetResponseEvent), 'kernel.request', object(TraceableEventDispatcher)) at call_user_func(object(Closure), object(GetResponseEvent), 'kernel.request', object(TraceableEventDispatcher)) in WrappedListener.php line 61 at WrappedListener->__invoke(object(GetResponseEvent), 'kernel.request', object(EventDispatcher)) at call_user_func(object(WrappedListener), object(GetResponseEvent), 'kernel.request', object(EventDispatcher)) in EventDispatcher.php line 161 at EventDispatcher->doDispatch(array(object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener)), 'kernel.request', object(GetResponseEvent)) in EventDispatcher.php line 46 at EventDispatcher->dispatch('kernel.request', object(GetResponseEvent)) in TraceableEventDispatcher.php line 128 at TraceableEventDispatcher->dispatch('kernel.request', object(GetResponseEvent)) in HttpKernel.php line 125 at HttpKernel->handleRaw(object(Request), '1') in HttpKernel.php line 64 at HttpKernel->handle(object(Request), '1', true) in Application.php line 586 at Application->handle(object(Request)) in Application.php line 563 at Application->run() in /home/ngwxppoc/public_html/shop/index_dev.php line 113 また、log_infoでだめならばdebug_infoでどうかと思いましたが、それでも出力されず。 上記のデバッグサイトにアクセスすると上記エラーとなり、デバッグモードにもできず。。。(フロント側は問題なくデバッグサイトへの遷移可能) 上記の関数がだめならばと、Monolog のインスタンスを作成して直接ログファイルを作成しようとしてもファイルが作成されませんでした。(エラーにもならない・・) 現象2の解消方法もさることながら、なのですが 何らかのデバッグログさえ出したいのですが・・・ 管理系画面のログ出力方法をご教示いただければ幸いです。 エラーの追いかけ方が拙く、申し訳ございませんが、ご助力いただけますと幸いです。 |
468 |
投稿日時: 2020/2/3 9:56
対応状況: −−−
|
神 登録日: 2008/10/26 居住地: 投稿: 3217 |
Re: 管理画面のログ出力方法について admin_site_*******のファイルに
[2020-02-03 09:00:00,609851] admin.INFO [8f100aa6] [c7c10367] [2] [OrderController:exportOrder:287] - 受注CSV出力ファイル名 ["order_20200203090000.csv"] のようなフォーマットで出力されると思います。 2つ目のエラーですが、configのadmin_allow_hostの記述を何か間違えていないでしょうか? admin_allow_host: { } を admin_allow_host: と{}を削除して設定している等。 ソースのエラーが起きている箇所で$app['config']['admin_allow_host']は配列が前提で処理が記述されていますが nullが入ってきて警告が出ていると思います。
|
umebius |
投稿日時: 2020/2/3 10:01
対応状況: −−−
|
神 登録日: 2016/7/22 居住地: 投稿: 2085 |
Re: 管理画面のログ出力方法について デバッグモードにできない件ですが、
現在のバージョンでは下記のよう直されており、発生しません。 https://github.com/EC-CUBE/ec-cube/commit/e0b3cd661d4aafbf2fc5ff38f5c753f1eb86235a#diff-f2c1693a4046ca58e8697fbf12d829c2 直しておくと良いかと思います。
|
unripe01 |
投稿日時: 2020/2/4 1:08
対応状況: 開発中
|
新米 登録日: 2015/6/7 居住地: 投稿: 7 |
Re: 管理画面のログ出力方法について 468様
アドバイスいただきありがとうございます! admin_site_*******のファイルですが、ざっと見た感じ以下のログしかでていませんでした。 LogListener:onKernelTerminate:95 LogListener:onKernelResponse:86 LogListener:onKernelController:73 LogListener:onKernelRequest:60 LogListener:onKernelRequestEarly:47 自身で追記した log_info も出力されないので(ソースの場所はシンタクスエラーにすると落ちるので間違いなく通っているはず) これは権限周りか何か(だとしたら落ちると思うのですが・・・標準出力がnullなどこかに消えているのか)だと想定し、もう少し追ってみます。 本件はスレッドの件名とズレてしまいそうなので、深追いしてみて 無理そうだったらそれに特化したスレッド名で、ご相談させていただければ幸いです。 2つ目のエラーについては、admin_allow_hostの内容は間違っておらず、 umebiusさんに記載いただいている内容にて解消しました。 また、元々デバッグしようとしていた原因については解決に至りました。 「一部の受注データがID重複してダウンロードされること」について、 1つの注文で、複数のアイテムを購入されたお客様の受注データが、注文明細行分ダウンロードサれていることが原因でした。 今後とも宜しくお願い申し上げます。 |
unripe01 |
投稿日時: 2020/2/4 1:14
対応状況: 解決済
|
新米 登録日: 2015/6/7 居住地: 投稿: 7 |
Re: 管理画面のログ出力方法について umebius様
ご指摘いただいている内容にて修正し、問題なくデバッグモードに入ることができるようになりました。 ありがとうございます! また、468様への返信と重複してしまい恐縮ですが log_infoに書いた内容が出力されないままの状態ではあるものの 一旦解決済とさせていただければ幸いです。 (そもそも困りごと1は解消に至りました) また、追いかけていた問題「受注CSV出力時を行うと、一部の受注データがID重複してダウンロードされることがある」 は、1注文で複数アイテム購入分の行がダウンロードされることがわかり、解決に至っております。 今後ともよろしくお願い申し上げます。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |