Metadata-Version: 2.4
Name: usefullog
Version: 0.8.4
Summary: Add your description here
Requires-Python: >=3.12
Description-Content-Type: text/markdown
Requires-Dist: termcolor>=3.1.0

# UsefulLog
*Yet another logging library - made by BravestCheetah, Used by BravestCheetah*

## The main class
Everything in this library builds upon the Logger class: 
`from usefullog import Logger`

### The Logger Class
To use the tool you first gotta initialize an instance of the Logger class, you can do it just like this, including the name of the project:

`logger = Logger("My Awesome Project")`

When logging simple data like this: `logger.log("cool logs")` youll get some output like this:

`2025-08-16 12:51:00 ( Test ) | [LOG] cool logs`

There are other log formats too! Here they are:

`.info("This is some info")` - `2025-08-16 12:51:00 ( Test ) | [INFO] This is some info`

`.warn("You have been warned!")` - `2025-08-16 12:51:00 ( Test ) | [WARN] You have been warned!`

`.error("Something went wrong :(")` - `2025-08-16 12:51:00 ( Test ) | [ERROR] Something went wrong :(`

`.critical("CRITICAL ERROR")` - `2025-08-16 12:51:00 ( Test ) | [CRITICAL] CRITICAL ERROR`

`.raw("only contents :O")` - `only contents :O`

`.space()` - Newline (`\n`)

**All logs are colored using the termcolor library which should be compatible with your terminal - Not visible in the documentation, but its there :D**

### Customization

But the logger does have multiple optional arguments to customize your logs. Lets list them:

#### 1. Subname - `Logger("My Awesome Project", sub_name="cool subsystem")`
Result:
`2025-08-16 12:55:19 ( Test/cool subsystem ) | [LOG] This is a test log`

Useful for separating different systems or parts of your codebase for easier debugging.

#### 2. Disable Timestamps - `logger = Logger("Test", do_timestamps=False)`
Result: 
` ( Test ) | [LOG] This is a test log`

Useful to declutter logs if timestamps arent necessary, makes the logs look more clean

#### 3. Save Logs - `logger = Logger("Test", do_log_saving=True)`
Saves Logs Into .log files by default in the /logs folder. Each new instance of the Logger class creates a new  log file.

Useful for saving and sharing logs

#### 4. Disable Log Printing - `logger = Logger("Test", print_logs=False)`
Disables printing for logs, when paired with log saving you can safely store logs without filling the terminal.

#### 5. Color Saved Logs - `logger = Logger("Test", do_saved_log_decolouring=False)`
When False the argument will keep the coloruing characters in the save folder, though most text editors may display these as normal characters and not colour them colours can be viewed when using a tool like `cat` to print the contents to the terminal directly.

#### 6. Change Log Folder - `logger = Logger("Test", log_save_folder="other folder")`
When used logs will be saved in that path instead of the default /logs
