This page was last updated on 04 August 2025, 6:58AM
Changelogs
Version 1.5.0
log messages now include file name and line numbers
now possible to specify a custom formatter for log messages.
log timestamps are now relative to time since game launch. (can be changed by specifying a custom formatter)
added a file with a ton of new utility functions for working with tables, with proper type hinting support
added a function that is like `mwse.loadConfig`, but for player data. (creates the table if not present, converts string indices to numbers when appropriate, and properly creates missing subtables.)
Class factories and converters are now applied in the order they're defined.
many other utility functions were added.
various bug fixes
Version 1.2.0
you can now pass functions and function parameters to log:debug (etc) statements. functions must be passed as the first or second argument to log:debug. any subsequent arguments will be passed to that function
added a `fields` parameter to Class.lua. this helps to automate the process of generating comparison metamethods and the `__tostring` metamethod. it also lets you specify default values and converters for fields.
added a `super` method to Class.lua, which will return the parent class of whatever it's called on.
Version 1.1.1
fixed a terrible bug caused by a fault import statement in the logger file (this was caused by me forgetting to change the import statement when moving it from my MWSE pull request)
Version 1.1.0
mods can now have multiple loggers. this is done by specifying module names for a logger. all loggers belonging to the same mod will have their settings synchronized. Credit to Merlord for this idea.
additional arguments to the log:debug (etc) methods will be passed to string.format. you can use a function to pass return values. credit to Greatness7 for this idea.
log:debugt (warnt, errort, etc) can be used to print associate tables. credit to Merlord for this idea.
added a function that allows for easily registering/deregistering events