Login | ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/simple_log_event/trunk/README.md
Revision: 7
Committed: Mon Oct 25 15:30:00 2021 UTC (8 months, 1 week ago) by daniel-marschall
Content type: text/markdown
File size: 4456 byte(s)
Log Message:
Added README.md and LICENSE

File Contents

# Content
1
2 What is "ViaThinkSoft Simple Log Event"?
3 ----------------------------------------
4
5 ViaThinkSoftSimpleLogEvent offers a COM interface for easily
6 logging things into the Windows Event Log.
7
8 Using a COM interface enables some applications which cannot
9 call arbitary DLL functions (like PHP) to write to the Event Log.
10
11 Additionally, ViaThinkSoftSimpleLogEvent registeres a "Log Event Provider"
12 which will prevent the message "The description for Event ID ... from source ... cannot be found"
13 that would show up if you would call the WinAPI function "ReportEvent"
14 without MessageTable/Provider.
15
16
17 Distribution to the end user
18 ----------------------------
19
20 You only need to deploy SimpleLogEventSetup.exe
21 which is located in the folder "Setup".
22
23 The EXE file contains everything inside:
24 - 32 bit and 64 bit DLL (will be unpacked to target location)
25 - Registration procedure for COM/Typelib
26 - Registration procedure for SourceNames
27
28
29 Installation
30 ------------
31
32 Copy the following files in a path of your choice:
33
34 - Register.bat
35 - UnRegister.bat
36 - ViaThinkSoftSimpleLogEvent32.dll
37 - ViaThinkSoftSimpleLogEvent64.dll
38
39 Run Register.bat as administrator (right click on the batch file).
40
41 Please do not move the DLL files after they were registered;
42 otherwise you need to re-register them.
43
44 If you want to use ViaThinkSoftSimpleLogEvent with PHP, you need to change
45 following settings in your PHP.ini:
46
47 extension_dir = "ext"
48 extension=com_dotnet
49
50
51 Example usage with VBScript
52 ---------------------------
53
54 Dim objMyObject
55
56 set objMyObject = CreateObject("ViaThinkSoftSimpleLogEvent.ViaThinkSoftSimpleEventLog")
57
58 const LOGEVENT_MSG_SUCCESS = 0
59 const LOGEVENT_MSG_INFORMATIONAL = 1
60 const LOGEVENT_MSG_WARNING = 2
61 const LOGEVENT_MSG_ERROR = 3
62
63 objMyObject.LogEvent "MySourceName", LOGEVENT_MSG_WARNING, "This is a test warning written by VBS"
64
65
66 Example usage with PHP
67 ----------------------
68
69 define('CLASS_ViaThinkSoftSimpleEventLog', '{E4270053-A217-498C-B395-9EF33187E8C2}');
70
71 define('LOGEVENT_MSG_SUCCESS', 0);
72 define('LOGEVENT_MSG_INFORMATIONAL', 1);
73 define('LOGEVENT_MSG_WARNING', 2);
74 define('LOGEVENT_MSG_ERROR', 3);
75
76 $x = new COM(CLASS_ViaThinkSoftSimpleEventLog);
77 $x->LogEvent('MySourceName', LOGEVENT_MSG_WARNING, 'This is a test warning written by PHP');
78
79
80 Example usage with Delphi
81 -------------------------
82
83 uses
84 ActiveX,
85 ViaThinkSoftSimpleLogEvent_TLB;
86
87 procedure LogTest;
88 var
89 x: IViaThinkSoftSimpleEventLog;
90 begin
91 CoInitialize(nil); // needs to be called only once
92 x := CoViaThinkSoftSimpleEventLog.Create;
93 x.LogEvent('MySourceName', ViaThinkSoftSimpleLogEvent_TLB.Warning, 'This is a test warning written by Delphi');
94 x := nil;
95 end;
96
97
98 A short note about the compilation workflow (for developers)
99 -------------------------------------------
100
101 This only applies if you want to change/extend/fork ViaThinkSoftSimpleEventLog yourself.
102 You do not need this if you just want to use ViaThinkSoftSimpleEventLog to log events.
103
104 1. In folder "MessageTable":
105 Run "EventlogMessagesCompile.bat", it will do:
106 - MC file => RC+BIN files (using "mc.exe" from Windows SDK)
107 - RC+BIN files => RES file (using "rc.exe")
108
109 2. In folder "TLB":
110 Compile using Delphi (it will include the MessageTable RES file):
111 - ViaThinkSoftSimpleLogEvent32.dll
112 - ViaThinkSoftSimpleLogEvent64.dll
113
114 3. In folder "Setup":
115 3.1 Run "DllResCompile.bat", it will do:
116 - RC file => RES file (will include the two DLLs from folder "TLB")
117 3.2 Then, compile SimpleLogEventSetup.exe using Delphi
118
119 4. In folder "LogTestUsingDelphi":
120 Compile LogWriteTestDelphi*.exe using Delphi
121 (it will read "ViaThinkSoftSimpleLogEvent_TLB.pas" from the "TLB" folder)
122
123
124 License
125 -------
126
127 ViaThinkSoft Simple Log Event
128 Copyright 2020 Daniel Marschall, ViaThinkSoft
129
130 Licensed under the Apache License, Version 2.0 (the "License");
131 you may not use this file except in compliance with the License.
132 You may obtain a copy of the License at
133
134 http://www.apache.org/licenses/LICENSE-2.0
135
136 Unless required by applicable law or agreed to in writing, software
137 distributed under the License is distributed on an "AS IS" BASIS,
138 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
139 See the License for the specific language governing permissions and
140 limitations under the License.