mirror of
https://github.com/EQEmu/Server.git
synced 2026-07-01 16:27:16 +00:00
Created Logging Packets (markdown)
@@ -0,0 +1,79 @@
|
|||||||
|
# Logging System
|
||||||
|
|
||||||
|
### Preface
|
||||||
|
|
||||||
|
* EQEmu used to have many different logging systems in its past. They all were configured differently, all had different configuration formats. In 2015 - a much needed massive overhaul to our logging was made and it has been one of the most valuable things to our project to date.
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* Log levels
|
||||||
|
* Hot-Reload of log settings
|
||||||
|
* In game, real time server logs
|
||||||
|
* Debug levels
|
||||||
|
* Categories (Spells, Merchants, Loot etc.)
|
||||||
|
|
||||||
|
### Output formats
|
||||||
|
|
||||||
|
* Console
|
||||||
|
* File
|
||||||
|
* In game (gmsay)
|
||||||
|
* Can easily be extended to be implemented with other output sinks
|
||||||
|
|
||||||
|
### Debug Levels
|
||||||
|
|
||||||
|
**Level**||**Description**
|
||||||
|
-----|-----|-----
|
||||||
|
General|1|Low-Level general debugging, useful info on single line|
|
||||||
|
Moderate|2|Informational based - used in functions|
|
||||||
|
Detail|3|Use this for extreme detail in logging, usually in extreme debugging in the stack or interprocess communication|
|
||||||
|
|
||||||
|
* Debug levels are PER category, so if you wanted to set for example, level 3 debugging enabled to gmsay (In Game) but only 1 to your console, you put respectively 1 in your console field and 3 in gmsay for whatever category it is your enable
|
||||||
|
|
||||||
|
### Settings
|
||||||
|
|
||||||
|
* All settings are managed in **logsys_categories** database table
|
||||||
|
* When a process boots up, such as **zone/world/ucs/queryserv/etc**. \- These settings will load and whatever applies to the server category wise is what it will use as **'rules'** to understand where to send output, as well as what level of information (high or low) to display
|
||||||
|
* Please note that **log\_to\_gmsay** is only available for **Zone level debugging.**
|
||||||
|
|
||||||
|
## In-Game Commands
|
||||||
|
|
||||||
|
**Command**|**Description**|
|
||||||
|
-----|-----
|
||||||
|
#logs | Displays usage menu
|
||||||
|
#logs reload_all | Reload all settings in world and all zone processes with what is defined in the database
|
||||||
|
#logs list_settings | Shows current log settings and categories loaded into the current process' memory
|
||||||
|
#logs set \[console\|file\|gmsay\] | Sets log settings during the lifetime of the zone
|
||||||
|
|
||||||
|
```
|
||||||
|
#logs set [gmsay|file|console] [category_id] [log_level]
|
||||||
|
```
|
||||||
|
|
||||||
|
## File Logs
|
||||||
|
|
||||||
|
* All **zone logs** go underneath a respective **logs/zone/**
|
||||||
|
* All zones, once booted up, will have a name that actually means something to a server administrator:
|
||||||
|
* nexus\_version\_0\_inst\_id\_0\_port\_7000\_20084.log
|
||||||
|
* nexus\_version\_0\_inst\_id\_0\_port\_7000\_24356.log
|
||||||
|
* zone_20084.log \- A zone that has been booted up as a dynamic, but not assigned to any logical zone yet
|
||||||
|
* Crash Logs will make their way underneath `logs/crash`
|
||||||
|
* All other process logs go to the top level of logs, this may change
|
||||||
|
* Naming Convention:
|
||||||
|
* Unless a zone is using zone properties for the file name, most processes will look like the following convention
|
||||||
|
* process\_name\_process_id.log
|
||||||
|
|
||||||
|
## Example Output Screenshots
|
||||||
|
|
||||||
|
### GM-Say
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
### Windows Console of Zone
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
## Linux Console
|
||||||
|
|
||||||
|
ANSI Color support
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
Reference in New Issue
Block a user