Yes, I know it probably is the worst logging implementation you've ever seen. I'm kinda new to C#. When I write in C#, I usually trust my Java knowledge.
I can already see issues here. Like, what about file logging? I don't really know but I will update the code when I require more.
After you put Logger.cs
into your codebase, you can initialize Logger
in almost anywhere. It's usually good to do it
as early as possible.
class MyNode: Node2D {
private Logger logger; // in order to use it anywhere
public override void _Ready()
{
logger = new Logger(this);
logger.log(LogLevel.TRACE, "This is a trace log.");
// [TRACE][node_name@MyNode: Node2D] This is a trace log.
logger.trace("This is a trace log.");
// [TRACE][node_name@MyNode: Node2D] This is a trace log.
logger.debug("This is a debug log.");
// [DEBUG][node_name@MyNode: Node2D] This is a debug log.
logger.info("This is an info log.");
// [INFO][node_name@MyNode: Node2D] This is an info log.
logger.warning("This is a warning log.");
// [WARNING][node_name@MyNode: Node2D] This is a warning log.
logger.error("This is an error log.");
// [ERROR][node_name@MyNode: Node2D] This is an error log.
}
}