https://github.com/r3code/lazarus-exception-logger
FreePascal Exception Logger aka madExcept or EurekaLog, extended version of https://github.com/beNative/lazarus/tree/master/components/ExceptionLogger
https://github.com/r3code/lazarus-exception-logger
Last synced: 10 months ago
JSON representation
FreePascal Exception Logger aka madExcept or EurekaLog, extended version of https://github.com/beNative/lazarus/tree/master/components/ExceptionLogger
- Host: GitHub
- URL: https://github.com/r3code/lazarus-exception-logger
- Owner: r3code
- Created: 2017-11-29T10:53:02.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2024-02-23T02:23:50.000Z (almost 2 years ago)
- Last Synced: 2025-03-24T18:28:31.204Z (11 months ago)
- Language: Pascal
- Homepage:
- Size: 152 KB
- Stars: 19
- Watchers: 8
- Forks: 11
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# lazarus-exception-logger
Extended version of ExceptionLogger (https://github.com/beNative/lazarus).
At the moment of unhanled exception in the application shows basic application
information and exception stack trace report.
Also the error report can be saved to a file. New error report record will be
added to the end of the existing report file.
Repository: https://github.com/r3code/lazarus-exception-logger
**Example of app info**:
Class: Exception
Message: Simple exception
Application: Demo
Version: Demo
Time: 29.11.2017 13:58:57
Process ID: 6412
Thread ID: 6240
**Example of error report file**
Date/time : 2017-12-01 17:53:48.110
Operating system : Windows 7 SP1 i386
user name : Дмитрий
program up time : 0days 0hours 0min 2sec 356ms
free disk space : 296 GB
Process ID : 15860
Thread ID : 16152
Executable : IncodeUsage.exe
App. title : IncodeUsage Exaple of ExceptionLogger
Version : 1.1.0.0
Compiled date : 2017/12/01 at 17:52:03
Build target : i386 - Win32
LCL version : LCL 1.6.4.0
Widget set : Win32/Win64 widget set
Exception class : EMyException
Exception message : Woo!
code revision : 43594
01: 00426B2D TFRMTESTINCODE.BUTTON1CLICK in utestincode.pas (62)
02: 004FCB98 TCONTROL.CLICK in ./include/control.inc (2736)
03: 0051194D TBUTTONCONTROL.CLICK in ./include/buttoncontrol.inc (54)
04: 00511F6D TCUSTOMBUTTON.CLICK in ./include/buttons.inc (169)
05: 0051187B TBUTTONCONTROL.WMDEFAULTCLICKED in ./include/buttoncontrol.inc (20)
06: 0040D188 (754)
07: 004F2CA0 TWINCONTROL.WNDPROC in ./include/wincontrol.inc (5384)
08: 0053BAE9 DELIVERMESSAGE in lclmessageglue.pas (112)
09: 004CFB8F TWINDOWPROCHELPER.DOWINDOWPROC in ./win32/win32callback.inc (2441)
10: 004D021B WINDOWPROC in ./win32/win32callback.inc (2604)
11: 00540F27 CUSTOMFORMWNDPROC in ./win32/win32wsforms.pp (382)
12: 76CBC4B7
13: 76CBC5B7
14: 76CB5264
15: 76CB5552
16: 738445A1
17: 73844603
**Example of exception stack trace dialog**:
see doc/images/error_report.jpg

## Install
* Download and install lpk file as Lazarus package.
* Or copy source file to your project to use it standalone, include the files in a project or set the source path, init it directly in your code.
## Usage
### Common
Set *Project Options - Debugging*
*Checks and assertions*
* I/O (-Ci)
* Range (-Cr)
* Overflow(-Co)
* Stack (-Ct)
* other by your needs.
*Generate debugging info...*: Yes
*Type of debug info*: Stabs (-gs)
*Display line numbers...*: Yes
### Standalone usage
See demo/IncodeUsage.lpr
### As Component
Put component TExceptionLogger (tab Samples) to your form and set properties you want.
### TExceptionLogger Properties
**LogFileName** - filepath to write report to.
**MaxCallStackDepth** - maximum count of lines listed in the report, default 20.
## Demo
See *demo* folder.