কমান্ড লাইন থেকে কীভাবে উইন্ডোজ ইভেন্টলগ উত্স তৈরি করবেন?


166

আমি একটি এএসপি.এনইটি অ্যাপ্লিকেশন তৈরি করছি যা উইন্ডোজ ইভেন্টলগে কিছু স্টাফ লগ করবে। এটি করতে প্রথমে একটি ইভেন্ট উত্স তৈরি করতে হবে। এর জন্য প্রশাসনিক অনুমোদন প্রয়োজন তাই আমি এএসপি.এনইটি অ্যাপে এটি করতে পারি না।

উইন্ডোজের সাথে এমন একটি কমান্ড-লাইন অ্যাপ্লিকেশন রয়েছে যা একটি ইভেন্ট লগ সোর্স তৈরি করতে পারে, বা আমার নিজের কী তৈরি করতে হবে?

উত্তর:


298

"ইভেন্টক্র্রেট.এক্সএই" চেষ্টা করে দেখুন

একটি উদাহরণ:

eventcreate /ID 1 /L APPLICATION /T INFORMATION  /SO MYEVENTSOURCE /D "My first log"

এটি একটি নতুন ইভেন্ট তৈরি হবে উৎস নামে MYEVENTSOURCEঅধীনে APPLICATIONঘটনা লগ যেমন INFORMATIONঘটনা টাইপ

আমি মনে করি এই ইউটিলিটিটি কেবল এক্সপি থেকে অন্তর্ভুক্ত রয়েছে।

আরও পড়া


13
আপনাকে "সেমিডিডি" রাইট ক্লিক করতে হবে এবং ভিস্তা অন থেকে "অ্যাডমিন হিসাবে রান করুন" নির্বাচন করতে হবে
ইয়ান রিংরোজ

16
ইভেন্টক্রিয়েট কোনও বিদ্যমান উত্সের অধীনে একটি ইভেন্ট রেকর্ড করে, এটি ওপির অনুরোধ অনুযায়ী স্ক্র্যাচ থেকে কোনও নতুন উত্স তৈরি করবে না।
পল শ্যাভেজ

5
@ পলচ্যাভেজ যদি নামকরণ করা উত্সটি না থাকে তবে এটি তৈরি করা হয়।
ফারহিনহা

1
এটি ইভেন্ট তৈরি করবে না যদি MYEVENTSOURCEইতিমধ্যে উপস্থিত থাকে এবং ইভেন্টক্রিট ছাড়া অন্য কিছু ব্যবহার করে তৈরি করা হয়েছিল
ক্রিস এস

2
যদিও এটি কাজ করেছে এবং একটি নতুন উত্স তৈরি করেছে আমার সমস্ত ইভেন্টগুলিতে "উত্স মাই অ্যাপ থেকে ইভেন্ট আইডির 0 এর বিবরণ পাওয়া যায় না E হয় যে উপাদানটি এই ইভেন্টটিকে উত্থাপন করে তা আপনার স্থানীয় কম্পিউটারে ইনস্টলড নয় বা ইনস্টলেশনটি দূষিত হয়েছে" তাই আমার ছিল শেষে রেজিস্ট্রি সম্পাদনা করতে
dibs487

176

পাওয়ারশেল ২.০ এর ইভেন্টলগ সেমিডিলেট চেষ্টা করে দেখুন

এটিকে পাওয়ারশেল ২.০ এবং এর চেয়ে বেশি দিকে ছুঁড়ে ফেলা হচ্ছে:

  • New-EventLogইভেন্ট উত্স রেজিস্টার করতে একবার চালান :

    New-EventLog -LogName Application -Source MyApp
    
  • তারপরে লগতে Write-EventLogলিখতে ব্যবহার করুন :

    Write-EventLog 
        -LogName Application 
        -Source MyApp 
        -EntryType Error 
        -Message "Immunity to iocaine powder not detected, dying now" 
        -EventId 1
    

7
এটি ঠিকঠাক কাজ করে, কেবল উচ্চতর সুবিধাসহ পাওয়ারশেল চালানো মনে রাখবেন।
রড

4
আমার তৈরি নতুন লগটি দেখার জন্য আমাকে ইভেন্ট দর্শকটি খুলতে এবং বন্ধ করতে হয়েছিল
amackay11

এছাড়াও যদি আপনি সক্রিয়ভাবে বিকাশ করছেন এবং New-EventLog-িং করছেন এবং Remove-EventLog'-ইং পিছন পিছন আপনি Sourceনিবন্ধিত হওয়ার সময় কোনও সমস্যার মুখোমুখি হতে পারেন তবে নির্দিষ্টটিতে লিখেন না Log। কম্পিউটার পুনরায় চালু করা এতে সহায়তা করে। অন্য টিপ: আপনি দেখতে পাচ্ছেন আপনার ইভেন্টের লগগুলি কী চলছে তা রিজেডিট দিয়ে এখানে:[Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\]
Corio

44

আপনি নিম্নলিখিত কমান্ডের সাহায্যে উইন্ডোজ পাওয়ারশেল ব্যবহার করতে পারেন:

if ([System.Diagnostics.EventLog]::SourceExists($source) -eq $false) {
    [System.Diagnostics.EventLog]::CreateEventSource($source, "Application")
}

ক্রিয়েটএভেন্টসোর্স কল করার আগে উত্সটির অস্তিত্ব নেই কিনা তা নিশ্চিত করে নিন, অন্যথায় এটি একটি ব্যতিক্রম ছুঁড়ে দেবে।

আরও তথ্যের জন্য:



4

যদি কেউ আগ্রহী হন তবে কিছু রেজিস্ট্রি মান যুক্ত করে ম্যানুয়ালি একটি ইভেন্ট উত্স তৈরি করাও সম্ভব।

নিচের রেখাগুলি একটি .reg ফাইল হিসাবে সংরক্ষণ করুন, তারপরে এটিতে ডাবল ক্লিক করে রেজিস্ট্রিতে আমদানি করুন:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\eventlog\Application\YOUR_EVENT_SOURCE_NAME_GOES_HERE]
"EventMessageFile"="C:\\Windows\\Microsoft.NET\\Framework64\\v4.0.30319\\EventLogMessages.dll"
"TypesSupported"=dword:00000007

এটি নামের একটি ইভেন্ট উত্স তৈরি করে YOUR_EVENT_SOURCE_NAME_GOES_HERE


1

অথবা কেবল কমান্ড লাইন কমান্ডটি ব্যবহার করুন:

Eventcreate


1

তবে সেমিডি / ব্যাচের সংস্করণটি কাজ করে আপনি যখন কোনও ইভেন্টআইডি যা 1000 এর চেয়ে বেশি তার উচ্চারণ করতে চান তখন আপনি একটি ইস্যুতে চালিয়ে যেতে পারেন 1000

$evt=new-object System.Diagnostics.Eventlog(“Define Logbook”)
$evt.Source=”Define Source”
$evtNumber=Define Eventnumber
$evtDescription=”Define description”
$infoevent=[System.Diagnostics.EventLogEntryType]::Define error level
$evt.WriteEntry($evtDescription,$infoevent,$evtNumber) 

নমুনা:

$evt=new-object System.Diagnostics.Eventlog(“System”)
$evt.Source=”Tcpip”
$evtNumber=4227
$evtDescription=”This is a Test Event”
$infoevent=[System.Diagnostics.EventLogEntryType]::Warning
$evt.WriteEntry($evtDescription,$infoevent,$evtNumber)

-3

আপনি ডায়াগনস্টিকস ব্যবহার করে আপনার নিজস্ব কাস্টম ইভেন্ট তৈরি করতে পারেন ventপ্রতিভ লগ ক্লাস। একটি উইন্ডোজ অ্যাপ্লিকেশন খুলুন এবং একটি বোতামে নীচের কোডটি করুন।

System.Diagnostics.EventLog.CreateEventSource("ApplicationName", "MyNewLog");

"মাইনিওলগ" এর অর্থ ইভেন্টের দর্শনে আপনার লগকে আপনি যে নামটি দিতে চান means

আরও তথ্যের জন্য এই লিঙ্কটি পরীক্ষা করুন [ http://msdn.microsoft.com/en-in/library/49dwckkz%28v=vs.90%29.aspx]

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.