Skip to content

Instantly share code, notes, and snippets.

@TheDuriel
Created September 17, 2019 13:14
Show Gist options
  • Save TheDuriel/81388aae735c4798dcb2f99a631d4ca6 to your computer and use it in GitHub Desktop.
Save TheDuriel/81388aae735c4798dcb2f99a631d4ca6 to your computer and use it in GitHub Desktop.
extends Reference
class_name Logger
"""
Logger Class Script
Simple error logger with severity filter.
"""
const var LOG_LEVEL: int = SEVERITY.ERROR
enum SEVERITY {
ERROR,
WARNING,
HINT
}
var ERROR_PREFIX: String = "_ERROR: "
var WARNING_PREFIX: String = "_WARNING: "
var HINT_PREFIX: String = "_HINT: "
var MESSAGE: String = ""
static func log(sender: object, severity: int, message: String) -> void:
if severity <= LOG_LEVEL:
var log_string: String = ""
match LOG_LEVEL:
SEVERITY.ERROR:
log_string += ERROR_PREFIX
SEVERITY.WARNING:
log_string += WARNING_PREFIX
SEVERITY.HINT:
log_string += HINT_PREFIX
log_string += str(sender)
log_string += str(": ", message)
# EXAMPLE USE:
func _test_log() -> void:
log(self, Logger.SEVERITY.ERROR, "test successful.")
# EXAMPLE OUTPUT
-> _ERROR: [object:id]: test successful.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment