OPC Studio User's Guide and Reference
LogEntry Event (EasyUAServerCore)
Example 



OpcLabs.ServerOpcUA Assembly > OpcLabs.EasyOpc.UA Namespace > EasyUAServerCore Class : LogEntry Event
Raised for loggable entries originating in the OPC-UA Server engine and the EasyUAServer component.
Syntax
'Declaration
 
Public Event LogEntry As LogEntryEventHandler
'Usage
 
Dim instance As EasyUAServerCore
Dim handler As LogEntryEventHandler
 
AddHandler instance.LogEntry, handler
public event LogEntryEventHandler LogEntry
public:
event LogEntryEventHandler^ LogEntry
Event Data

The event handler receives an argument of type LogEntryEventArgs containing data related to this event. The following LogEntryEventArgs properties provide information specific to this event.

PropertyDescription
The application-specific subcategory associated with the message.  
Default value of the Timestamp property.  
Entry type. One of the LogEntryType values.  
The application-specific identifier for the event.  
The message text.  
An array of bytes that holds the binary data associated with the entry.  
The name of the event source.  
Date and time of the log entry message. In UTC.  
Date and time of the log entry message. In UTC, as double-precision floating-point number that contains an OLE Automation date.  
Date and time of the log entry message. In local time.  
Date and time of the log entry message. In local time, as double-precision floating-point number that contains an OLE Automation date.  
Example
// This example demonstrates the loggable entries originating in the OPC-UA server engine and the EasyUAServer component.
// You can use any OPC UA client, including our Connectivity Explorer and OpcCmd utility, to connect to the server. 
//
// Find all latest examples here: https://opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Latest/examples.html .
// OPC client, server and subscriber examples in C# on GitHub: https://github.com/OPCLabs/Examples-OPCStudio-CSharp .
// Missing some example? Ask us for it on our Online Forums, https://www.opclabs.com/forum/index ! You do not have to own
// a commercial license in order to use Online Forums, and we reply to every post.

using System;
using System.Threading;
using OpcLabs.BaseLib.Instrumentation;
using OpcLabs.EasyOpc.UA;
using OpcLabs.EasyOpc.UA.NodeSpace;

namespace UAServerDocExamples._EasyUAServer
{
    class LogEntry
    {
        public static void Main1()
        {
            // Hook static events.
            EasyUAServer.LogEntry += EasyUAServerOnLogEntry;

            // Instantiate the server object.
            // By default, the server will run on endpoint URL "opc.tcp://localhost:48040/".
            var server = new EasyUAServer();

            // Define a data variable providing random integers.
            var random = new Random();
            server.Add(new UADataVariable("MyDataVariable").ReadValueFunction(() => random.Next()));

            // Start the server.
            Console.WriteLine("The server is starting...");
            server.Start();

            Console.WriteLine("The server is started.");
            Console.WriteLine();

            // Let the user decide when to stop.
            Console.WriteLine("Press Enter to stop the server...");
            Console.ReadLine();

            // Stop the server.
            Console.WriteLine("The server is stopping...");
            server.Stop();

            Console.WriteLine("The server is stopped");

            // Give the remaining events chance to be handled.
            Thread.Sleep(2 * 1000);

            // Unhook static events.
            EasyUAServer.LogEntry -= EasyUAServerOnLogEntry;
        }

        // Event handler for the LogEntry event. It simply prints out the event.
        private static void EasyUAServerOnLogEntry(object sender, LogEntryEventArgs logEntryEventArgs)
        {
            Console.WriteLine(logEntryEventArgs);
        }
    }
}
' This example demonstrates the loggable entries originating in the OPC-UA server engine and the EasyUAServer component.
' You can use any OPC UA client, including our Connectivity Explorer and OpcCmd utility, to connect to the server. 
'
' Find all latest examples here: https://opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Latest/examples.html .
' OPC client and subscriber examples in VB.NET on GitHub: https://github.com/OPCLabs/Examples-QuickOPC-VBNET .
' Missing some example? Ask us for it on our Online Forums, https://www.opclabs.com/forum/index ! You do not have to own
' a commercial license in order to use Online Forums, and we reply to every post.

Imports System
Imports System.Threading
Imports OpcLabs.BaseLib.Instrumentation
Imports OpcLabs.EasyOpc.UA
Imports OpcLabs.EasyOpc.UA.NodeSpace

Namespace _EasyUAServer
    Partial Friend Class LogEntry
        Shared Sub Main1()
            ' Hook static events.
            AddHandler EasyUAServer.LogEntry, AddressOf EasyUAServerOnLogEntry

            ' Instantiate the server object.
            ' By default, the server will run on endpoint URL "opc.tcp://localhost:48040/".
            Dim server = New EasyUAServer()

            ' Define a data variable providing random integers.
            Dim random = New Random()
            server.Add(New UADataVariable("MyDataVariable").ReadValueFunction(Function() random.Next()))

            ' Start the server.
            Console.WriteLine("The server is starting...")
            server.Start()

            Console.WriteLine("The server is started.")
            Console.WriteLine()

            ' Let the user decide when to stop.
            Console.WriteLine("Press Enter to stop the server...")
            Console.ReadLine()

            ' Stop the server.
            Console.WriteLine("The server is stopping...")
            server.Stop()

            Console.WriteLine("The server is stopped.")

            ' Give the remaining events chance to be handled.
            Thread.Sleep(2 * 1000)

            ' Unhook static events.
            RemoveHandler EasyUAServer.LogEntry, AddressOf EasyUAServerOnLogEntry
        End Sub

        ' Event handler for the LogEntry event. It simply prints out the event.
        Private Shared Sub EasyUAServerOnLogEntry(ByVal sender As Object, ByVal logEntryEventArgs As LogEntryEventArgs)
            Console.WriteLine(logEntryEventArgs)
        End Sub
    End Class
End Namespace
Requirements

Target Platforms: .NET Framework: Windows 10 (selected versions), Windows 11 (selected versions), Windows Server 2016, Windows Server 2022; .NET: Linux, macOS, Microsoft Windows

See Also