Skip to content

Logging singleton for Godot Engine projects (GDScript plugin)

License

Notifications You must be signed in to change notification settings

KOBUGE-Games/godot-logger

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

47 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Godot Logger - Logging Addon for Godot Engine

The Godot Logger is a plugin that provides a logging API for projects developed with Godot Engine.

Usage

  1. Clone or extract this repository as the res://addons/godot-logger folder in your project.
  2. Enable the addon from Project -> Project Settings -> Plugins -> Godot Logger.
  3. An autoloaded script will be added to your project singletons list as Logger.

The methods of the API can then be accessed from any other script via the Logger singleton:

  Logger.warn("Alpaca mismatch!")

  Logger.add_module("mymodule")
  Logger.info("Reticulating splines...", "mymodule")

Read the code for details about the API, it's extensively documented.

Output format configuration

The output_format property can be customized using format fields from the FORMAT_IDS dictionary. They are placeholders which will be replaced by the relevant content.

Log format fields:

  • {LVL} = Level of the log
  • {MOD} = Module that does the logging
  • {MSG} = Message from the user
  • {TIME} = Timestamp when the logging occurred
  • {ERR_MSG} = Error message corresponding to the error code, if provided. It is automatically prepended with a space.

The timestamp format can be configured for each module using the time_format property, with the placeholders described below.

Timestamp fields:

  • YYYY = Year
  • MM = Month
  • DD = Day
  • hh = Hour
  • mm = Minute
  • ss = Second
  • SSS = Millisecond

Error codes:

All logging levels can also optionally include an Error code, which will be mapped to a human-readable error message.

Example:

Logger.error("Failed to rotate the albatross", "main", ERR_INVALID_DATA)

Example

var msg = "Error occurred!"

Logger.output_format = "[{TIME}] [{LVL}] [{MOD}] {MSG}"
Logger.time_format = "YYYY.MM.DD hh:mm:ss.SSS"
Logger.error(msg)

Logger.time_format = "hh:mm:ss"
Logger.error(msg)

Logger.output_format = "[{LVL}] {MSG} at {TIME}"
Logger.error(msg)

Results in:

[2020.10.09 12:10:47.034] [ERROR] [main] Error occurred!

[12:10:47] [ERROR] [main] Error occurred!

[ERROR] Error occurred! at 12:10:47

Licensing

The Logger class and all other files of this repository are distributed under the MIT license (see the LICENSE.md file).

About

Logging singleton for Godot Engine projects (GDScript plugin)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published