{"id":"ozzypig/logging","name":"logging","scope":"ozzypig","platform":"roblox","description":"A logging facility for Roblox","version":"0.3.0","latest":"0.3.0","versions":["0.2.0","0.3.0"],"license":"MIT","licenseRating":"safe","licenseCaveats":["The package archive does not include its license text; the license is declared in its manifest metadata."],"licenseVerified":false,"dependencies":{},"integrity":"204a3cd5695658b43b495afd75ed8bf2cd4d298dc10346b951739b02bbfc8c60","likes":0,"downloads":0,"install":"forest install ozzypig/logging","url":"https://forest.dev/p/roblox/ozzypig/logging","files":"https://api.forest.dev/ai/package/roblox/ozzypig/logging/files","readme":"# Logging v0.3.0\r\n\r\n**Logging** is a logging library for Roblox that takes after\r\n[Python's logging](https://docs.python.org/3/library/logging.html) library. It\r\nhas no dependencies and is lightweight.\r\n\r\n## Quick-Start\r\n\r\n```lua\r\nlocal ReplicatedStorage = game:GetService(\"ReplicatedStorage\")\r\nlocal Logging = require(ReplicatedStorage:WaitForChild(\"Logging\"))\r\n-- Do this just once at startup:\r\nLogging:basicConfig{level=\"Debug\"; format=\"%(name)s:%(level)s:%(message)s\"}\r\n-- Now log events when they happen:\r\nLogging:debug(\"Hello, world\")\r\n-- Using a Logger object for your module/game:\r\nlocal logger = Logging:getLogger(\"MyGame\")\r\nlogger:debug(\"Created %d zombies\", 5)\r\nlogger:info(\"Starting round with %d players\", 2)\r\nlogger:warning(\"Watch out, the %s might %s\", \"balloon\", \"pop\")\r\nlogger:error(\"DataStores might be down\")\r\nlogger:critical(\"A real showstopper, closing server\")\r\n-- Filter logs lower than a certain level:\r\nlogger:setLevel(\"Info\")\r\n-- Use child loggers for subsystems:\r\nlogger:getChild(\"DataStores\"):info(\"Loaded player data\")\r\n```\r\n\r\nDive right into the [Getting Started](https://docs.ozzypig.com/Logging/docs/getting-started)\r\nguide for more.\r\n\r\n## Development\r\n\r\n* [Visual Studio Code](https://code.visualstudio.com/)\r\n* Markdown (.md) linted using [markdownlint](https://github.com/DavidAnson/markdownlint)\r\n* Luau code (.lua) linted using [selene](https://github.com/Kampfkarren/selene)\r\n* Built using [Rojo 7](https://github.com/rojo-rbx/rojo):\r\n  * **default.project.json** builds the library as a model,\r\n    can be included in other Rojo projects which depend on this library.\r\n  * **test.project.json** builds a place which runs unit tests\r\n    (open in Roblox Studio and click Run).\r\n    * Tests can be found in **tests/Tests.lua**\r\n* Makefile included with several useful targets (`test`, `serve`) which operate\r\n  on the Rojo project files above.\r\n* **wally.toml**: package manifest for [wally](https://github.com/UpliftGames/wally)\r\n* **moonwave.toml** Configuration for building documentation using [Moonwave](https://github.com/UpliftGames/moonwave)\r\n","readmeTruncated":false}