Frequently Asked Questions
Here you will find answers to the most frequently asked questions about all aspects of our software. The questions and answers are clearly arranged by topic so that you will quickly find what you’re looking for.
General
- Windows 10, 32- or 64-bit, Windows 8
- 1024x768 dpi display resolution or more
First, make sure that your logging application is configured to write log messages using log4net. If you just want to test LOG4VIEW, you can use the application LogEmiter.exe which is installed together with LOG4VIEW. Then, just drag your application exe file from the file explorer to LOG4VIEW. Confirm the settings in the receiver configuration form and press OK. Now, LOG4VIEW is configured to receive messages from your application.
Log4View probably starts with the wrong start options (size, position, etc.) and is displayed on a non-existent "virtual" screen. These startup options are saved in the user configuration (%userprofile%\AppData\Local\PROSA_GmbH\Log4view.exe_StrongName.......\ 1.5.3.1583\user.config) during regular shutdown of Log4View. You can delete this file, then Log4View will start again with the default values.
Or you can hold down the left ctrl/strg key while starting Log4View. This has the same effect.
You created a File Extension Schema for log files with a specific extension. For further information on how to use and deactivate this feature, please refer to the corresponding chapter in our documentation.
PostgreSql is not officially supported by Log4View, what means, that Log4View hasn’t been tested against PostgreSQL. However, if there is an OleDb driver for PostgreSQL, Log4View should work with it.
Logging Frameworks
Logging Frameworks are code libraries, which help developers to add flexible log output to their application.
The developer is only required to write a simple line where he wants to create a log message:
logger.Error("An error has occurred");
Only the configuration of the logging framework defines, where this message is written to (e.g. to a file, to the network, into a database or as an E-Mail). Logging frameworks offer very powerful and flexible ways to control, whether the messages are to be sent to multiple targets or if some messages should be sent to special targets or even dropped, depending on the severity of the message or the component, which created the message. Additionally, by using predefined layouts or defining custom layouts there are manifold possibilities to format the log output.
Due to the variety of their various output channels, the power of their configuration and their maturity, logging frameworks are preferable to own logging codes being self-written. All above mentioned frameworks are open source projects.
One can configure a logging framework by an XML file or programmatically. Using an XML file has the big advantage that the log settings can be changed without recompiling the application. All logging frameworks even allow the modifying of configuration files and instigate the changes while the application is running.
Log4j, log4net, log4cxx, log4php
The history of managed logging frameworks starts with log4j. This Java library has been the de-facto standard in the Java world since 2004 .
In the following years implementations for .NET (log4net), C++ (log4cxx) and PHP (log4php) were developed. Although they follow the proven log4j-approach, they are native implementations in and for their respective platform and they incorporate their possibilities and conventions.
Log4j and log4net have been used in countless software projects and have been proven to be reliable and mature. The available appender and layouts are sufficient for most of the requirements. For special purposes, it's not very difficult to implement own appenders.
Log4net is now an official project of the Apache Foundation. The latest version 1.2.11 was released in October 2011.
NLog
NLog is an alternative logging framework, initiated and maintained by Jarek Kowalski. Inspired by log4j and log4net, NLog offers numerous new approaches and ideas and is being continously developed and improved.
However, one has to take the necessary precautions when switching an application from log4net to NLog. The necessary code changes are easy. Also, the NLog configuration file has a similar structure and can be apparently converted 1:1 from log4net. But if file targets are being used, it can happen that the application runs much slower after the switch to NLog. This is not caused by the fundamental speed difference between NLog and log4net, but by the different default behaviour of the NLog file targets. The log4net file appender keeps the log file permanently open; the NLog file target by default opens and closes the log file for each log message. If this is changed by setting the file target attribute "keepFileOpen" to "true", the NLog file target runs as fast as the log4net file appender.
.NET developers are given a choice between two good logging frameworks, log4net and NLog.
Maturity and broad adoption speak for log4net. When you are using other frameworks which on their part also use log4net (e.g. the object-relational mapper NHibernate), it is recommended to use log4net. The same is true for those, who have some experience with log4net. When it presents no immediate problems there is no urgency to switch the framework.
The advantage of NLog is its continuous development and some exiting new possibilities.
Log4View 2010.3 supports the log4net file-, UDP-, TCP- und database appenders and can read XML-formatted NLog files.
For Developers
Log4View is capable of including user generated plugins. There are visual plugins you may add to the GUI of Log4View and receiver plugins that allow you to receive messages from your own appenders. When installing Log4View, include the Sample Receiver and Sample Dashboard to install code examples of plugins in your Log4View main directory. Your plugins will have access to our powerful API documented at “<Log4ViewDirectory >\Help\Log4ViewAPI.chm”.
Your plugins must follow the name pattern Log4View.*.dll and have to be copied in Log4View’s main directory to be included.
There are two ways for debugging your own plugins. The first one is to debug via Visual Studio. Go to “Debug” -> “Attach to Process…” and select Log4View. You should now be able to use the Visual Studio Debugger within the code of your own plugin.
Another way is to send log messages at critical sections of your plugin's code. Log4View already features an integrated a status logger you may call via
LogManager.GetCurrentClassLogger().Info("Example");
This way a message “Example“ with the Loglevel Info will be logged via TCP-, file- or Traceappender, depending on your entries in the Log4View.exe.config (in the main directory of Log4View) in the section of log4net.
To supervise these messages in real time, you can use Log4View again. The easiest way is to copy the whole directory of Log4View and to change the file path of its log file in its Log4View.exe.config (else you would receive the status messages of both the logging and the receiving instance of Log4View). Start the copied Log4View and attach the logging one’s file via a file receiver.
Installation and Deployment
If you get an error when installing the latest version of Log4View because the old version can not be removed, please extract Log4ViewSetup_12.5.X.0.exe to a folder (e.g. using 7zip) and run Setup.exe from there.
Log4View activates itself, when a valid license key has been registered.
To perform an offline installation, follow these steps:
1. Before installing Log4View, install the .NET Framework 4.71 or higher on the computer
2. In Log4View go to Help/License Activation, click and press the button "Offline Activation" in the upper right corner of the license dialog and enter your license key.
3. Create an activation file via our licensing page license.prosa.biz/CustomerArea/Index in the area "Offline Activation". For this you need your Log4View license key.
You can use this activation file for all installations in your company.
4. After the installation of Log4View you can activate the software with the command
Log4View.exe RegisterLicense /ActivationFile=MyActivationFile.txt
The installer of Log4View supports a silent installation without any user interaction needed. Just use the cmd argument -silent
Example:
C:\Users\<User>\Downloads>Log4ViewSetup.exe -silent
You can also register your license key while installing. Here use the cmd parameter LicenseKey=
Example:
C:\Users\<User>\Downloads>Log4ViewSetup.exe LicenseKey=abcde-fghij-klmop-qrstuvw
C:\Users\<User>\Downloads>Log4ViewSetup.exe -silent LicenseKey= abcde-fghij-klmop-qrstuvw
You can activate an already installed instance of Log4View using the command prompt with the command
RegisterLicense /Key=xxxxx-xxxxx-xxxxx-xxxxx-xxxxx
Example:
C:\Program Files (x86)\Log4View V2>Log4View.exe RegisterLicense /Key=abcde-fghij-klmop-qrstuvw
If you want to do an offline activation using an activation file, use the command
RegisterLicense /ActivationFile=Filename.xxx
Example:
C:\Program Files (x86)\Log4View V2>Log4View.exe RegisterLicense /ActivationFile=MyActivationFile.txt
Licensing
With the development of Log4View V2 we have changed our license management. When you now purchase Log4View, you receive a license key in the form: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
This key allows you to activate Log4View V2.
When you still use Log4View V1, you can use the following link to create a Log4View V1 license file with your Log4View V2 license key.
https://prolic.prosa.biz/CustomerArea/LegacyLicenseDowngrade
Technically, there is no difference. You register the same license key in both cases.
- The default case is the machine-bound license: Every installation of Log4View needs its own license. Typical cases are Servers, Control-PCs, Test-Machines and other computers, which are not assigned to a special person.
- Developers and technicians often use multiple Computers, e.g. a work desktop, an additional notebook and the PC at home. In our oppinion, it wouldn't be fair to require a user purchasing three licenses if he wants to install Log4View on all of his three computers. Therefore, a user who owns a Log4View license has the right to install Log4View on up to three of his PCs. We call this a person-bound license. Yet he may only run Log4View on one of his devices at a time.
You decide on your own if you assigns a Log4View license to a machine or to a person. You can even change this assignment once a quarter. For this purpose you do not need to get a new license or inform us. We trust in your own responsibility to comply with the License Agreement. Log4View only checks if the license count is met.
Example:
You want to equip 5 developers and 3 technicians with Log4View. Additionaly you want to install Log4View on two servers and 4 PCs in the test lab which are used by five testers. This scenario requires 14 licenses. You assign eight of them to the five developers and three technicians. Each of them can install Log4View on up to three of his machines. These eight licenses are person-bound. The other six licenses are used for the two servers and four test machines. These computers can be used by many different persons who don't need an own Log4View license. These six licenses are machine-bound.
Receiver & Layout
Make sure, that your application is configured to write log messages. Examine the settings of the log4net root logger. Make sure, that no Log4Net filter prevents the reception or display of log messages.
LOG4VIEW works with the standard UDP appender, with file and rolling file appenders and with a special LOG4VIEW TCP appender. If the log messages shouldn't be persisted, use the TCP appender. It works on the local machine as well as with remote applications. All you need is an open TCP port. If you need to store your logging information, use the RollingFileAppender. LOG4VIEW can read consecutive rolled files at once and reads the current log file as it is written without locking the file so that it can be rolled over by log4net.
Use XML layout whenever possible. It is best suited to be read by LOG4VIEW. LOG4VIEW can also read pattern formatted log files but it can't be ensured that LOG4VIEW can read every log pattern, because some patterns are ambiguous.
Log4View can receive network messages via TCP or UDP. For TCP, just start your logging application/appender and add a new network receiver in Log4View. Select the TCP protocol radio button, enter the server's hostname or IP adress as hostname and make sure you use the same port as the appender.
For UDP, select the UDP protocol. Again use the server's hostname or IP as hostname and the same port as the appender. Be aware that you have to set the receiver's IP or the network's broadcast IP in the appender's remote adress configuration, else you will not receive any messages.
Log4net has a bug in the UDP appender so that you can't send messages to the local IP address 127.0.0.1 in Windows 7. A workaround is to use the local address "127.0.0.2".
In Log4View 1.6 we have revised the XML parser to parse log files faster and more efficiently. The new XML parser reacts much more sensitive to files that do not comply with the XML standard. You should ensure that your log files are XML compliant.
Make sure, that the file prosa.LogAppender.dll is in the same directory as your logging application.
Log4View has an internal message buffer which holds all received messages. This buffer has a size limit (default 500.000 messages), configurable in the receiver settings. It is organized as a ring buffer, i.e. the oldest messages are removed when the size limit is reached.
To make sure that you read all log files, increase the message buffer size to 5.000.000 messages in the log receiver settings.
You can right-click on the column header of a message view to open the ‚column editor‘. Here you can add all the columns you need. Most columns are not displayed by default and can be made visible.
You can create format settings, which change message color, font size and much more depending on specific conditions. The default format settings just change the color of messages depending on their log level. But you can add your own formatting rules, i.e. show all messages containing the word “success” appearing in purple.