問題タブ [eventlog-source]
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.
c++ - 実行可能ファイルハンドルを保持するWindowsイベントログサービス
起動時とシャットダウン時にイベントログレコードを記録するサービスアプリケーションがあります。
アプリケーションを頻繁に再構築し、次にホストマシンで実行可能ファイルを再構築します。そして、ここに問題があります。サービスがシャットダウンした後、Windowsイベントログサービス(イベントログビューアではない)が実行可能ファイルへのオープンハンドルを保持しているため、更新できません。
実行可能ファイルにイベントログメッセージが埋め込まれているので、移動できますが、更新の問題を別のファイルに移動するだけです。
ダブルチェックし、:: RegisterEventSource /::DeregisterEventSourceを正しくペアリングしました。
誰かがこの問題に遭遇しましたか?
.net - 新しいログ ソースが有効になるまでどのくらいかかりますか?
MSDN 状態のEventLog.Source プロパティドキュメント:
アプリケーションのインストール中に新しいイベント ソースを作成します。これにより、オペレーティング システムが登録済みのイベント ソースとその構成のリストを更新する時間ができます。
「時間を許す」とはどのくらいの期間を意味しますか? テスト サーバーにアプリケーションの新しいログ ソースを追加しましたが、「ログ ソース '情報' へのトレースに失敗しました」というエラーが引き続き発生します。
ところで、私はSystem.Diagnostics.EventLog.CreateEventSource
自分のソースを作成するために使用しています。MSDN のドキュメントでは、これは を使用するのと「似ている」と述べられてEventLogInstaller
いますが、違いについて詳しく説明していません [ため息]。それは問題ですか?
windows - Windows では、アプリケーション イベント ログで使用できる既定のイベント ソースは何ですか?
短縮版:
イベント ソース「アプリケーション」と「アプリケーション エラー」は常にアプリケーション イベント ログに含まれていますか? それらは、Windows XP、Vista、および Windows 7 の新規インストールで利用できますか? 独自のソースを作成する代わりにそれらを使用するのは本当に悪いことでしょうか (私には不可能です)?
長いバージョン:
マシンの管理者権限を持たないユーザーが使用する ClickOnce アプリケーションがあります。
アプリケーション イベント ログに書き込もうとすると、セキュリティ例外が発生します。(Windows イベント ログ インフラストラクチャが新しいイベント ソースを作成しようとしており、セキュリティ違反が発生します。)
そこで、既存のイベントソースを再利用してみたいと思います。アプリケーション イベント ログで「一般的な」ソースを 2 つだけ見つけました。これらは常に Windows インストールの一部であり、妥当な選択でしょうか?
独自のイベント ソースを使用してアプリケーションを区別する必要があるため、これは嫌われているに違いありません。しかし、これはまれな致命的なエラーのためのもので、コードによって別の場所に記録されるはずです。すべてがうまくいかない場合に備えて、クライアントマシンでそれらを簡単に見つけることができる場所が欲しいだけです...
wix - イベントソースが作成されているかどうかを確認する方法は?
サンプル コードを使用してイベント ソースを作成しています。
イベントソースが作成されているかどうかを確認するにはどうすればよいですか?
wix - WiXを使用して.NETイベントログソースを作成する方法
これは、WiXおよびWIXを使用してイベントログソースを作成する方法の意図的な半複製です。.NETメッセージファイルを使用してEventSourceを作成します。
私の最初の質問は、それは本当にそれほど複雑でなければならないのかということです。「私のプログラムは.Netプログラムであり、イベントログに書き込む必要があります。必要な設定を行ってください」とWiXに簡単に指定する方法はありませんか?
OK、それが不可能だと仮定すると、インストールされている.Net Frameworkのバージョンに関係なく、また32ビットか64ビットかに関係なく、WiXステートメントを機能させるために必要な推奨事項を受け取りたいと思います。システム。結局のところ、私の.Netプログラムのほとんどは、.Net 2.0以降、および32ビットまたは64ビットのいずれかで実行できるため、問題にはなりません。
最後の質問:将来にわたって利用できるようにする方法はありますか?.Net CLR2.0と4.0の両方がWindows11のゴミ箱に追いやられていたとしても、今日生成したMSIファイルが5年後も機能するのであれば、それは素晴らしいことです。
c# - ClickOnce アプリケーションで EventLog を使用する
複数の ClickOnce アプリケーションで使用するライブラリがあります。このライブラリでエラーが発生した場合は、エラーを windows に書き込みたいと思いますEventLog
。
方法に関するKB 記事を見つけましたが、ソースを検索するには管理者権限が必要なようです。Security
具体的には、イベント ログを検索しようとすると停止します。
これを回避して ClickOnce アプリケーションのイベント ログに書き込む方法はありますか? ある人が既知のソースに書き込もうとしているのを見ましたが、一貫して利用可能なソースを見つけることができなかったようです。
編集:
ここでの回答に基づいて、最初の実行時に実行できるアプリケーションに含まれるプログラムを作成して、管理者権限を取得できるイベント ソースを設定します。ただし、ソースが作成されると、まだ書き込めないようです。
ソースを適切に作成します (これは、Yannick Blondeau によって提供されたレジストリ編集と同等です)。昇格されていないアプリケーションでソースに書き込むと、新しいエラーが発生しますが、それでも機能しません。新しいエラーは次のとおりです。
Cannot open log for source 'ATE'. You may not have write access.
編集2:
私は今、CustomSD キーのレジストリ編集を通じてそれを機能させようとしています。(A;;0x7;;;AU) を追加して、認証されたユーザーにフル アクセスを許可しようとしましたが、効果がないように見えました。
powershell - EventLogがすでに存在するかどうかを判断する方法
次の行を使用して、新しいイベントログを作成しています
新しいコンピューターからビルドを実行する場合でも、イベントログを表示したいので、これを毎回実行したいと思います。
問題は、ログがすでに作成された後にスクリプトが実行されるたびに、エラーがスローされることです。
これで、イベントログを「検索」できることがわかりました。
しかし、それが存在するかどうかをどのように判断できますか?
xpath - XPath より大きい演算子?
特定の日付以降のすべてのイベント ログ エントリを選択しようとしています。これまでのところ、等しいと思いますが、これを指定された日付よりも大きく変更する方法がわかりません...まだ近いです!
c# - Windows イベント ビューアーから特定のアプリケーションのイベント ログを取得する方法
Windows イベント ビューアーと同様に機能するアプリケーションを実装しています。つまりEventLog
、EventLogEntry
クラスを使用してシステム イベント ログとアプリケーション イベント ログを監視します。
特定のプロセス (Chrome など) のアプリケーション イベント ログを取得することはできますか?
"Winlogon"
ログ エントリのリストでは、"WMI"
、などのさまざまなソースを見つけることができます"MSSQL$SQLEXPRESS"
が、特定のアプリの名前は見つかりません。
vb.net - イベントログ名は「アプリケーション」以外ですが、ログは「アプリケーション」ログに書き込まれます
私の VB.NET アプリケーションでは、「My_Log」という名前の新しいイベント ログ名を作成しました。このアプリケーションをさまざまな状況で実行し、各状況に一意の名前を付け、ログ記録時に新しいイベント ソースを作成します。関数を使用して、新しいログにこれらの一意の名前を付けます。
これで、すべてのログがログに書き込まれますが、そのうちの 3 つまたは 4 つです。それらは「アプリケーション」ログに書き込まれます。
すべての状況で (すべての異なるイベント ソースの名前で) を使用EventLog.LogNameFromSourceName("My_1st_Source", Environment.MachineName)
して、それらがログ "My_Log" の下にあることを確認しましたが、それらはすべてログ名の下にあるという同じ結果をもたらしました。それらのいくつかはまだ「アプリケーション」ログに表示されています。
なぜそれが起こっているのですか?ログ名ですべてのログを取得する方法はありますか? ありがとう。