Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Various things #904

Merged
merged 26 commits into from
Jan 15, 2024
Merged

Various things #904

merged 26 commits into from
Jan 15, 2024

Conversation

dwasint
Copy link
Collaborator

@dwasint dwasint commented Jan 9, 2024

About The Pull Request

Why It's Good For The Game

Changelog

🆑
/:cl:

ZephyrTFA and others added 12 commits January 9, 2024 15:23
Converts all logging, excluding perf and investigate, to json.
I focused on making the system as easy to use and as easy to add new
categories as possible.

Due to issues related to logging to world at global creation logger is
now a byond real, which is created directly before Master

Log categories support versioning, secret flagging, and sub-category
filtering. Although all of this is entirely optional for coders.
If you ever want to add a new category and use it, all you need to do is
make the barebones category datum and the define.
I've kept existing procs such as log_game, and simply turned them into a
wrapper for Logger.Log(xxx, ...)

Makes processing and filtering logs much easier in the future, while
only minimally downgrading log crawling experience.
I am also working on a log viewer frontend for admin usage however that
will take a little bit longer to finish up.
Also makes special logging and data tracking much easier thanks to a
data list processing implementation and handling
:cl:
server: All logs are now formatted in json, excluding perf and
investigations
/:cl:

---------

Signed-off-by: GitHub <[email protected]>
Co-authored-by: tattle <[email protected]>
Co-authored-by: Kyle Spier-Swenson <[email protected]>
Co-authored-by: GoldenAlpharex <[email protected]>
See title.
Surgery hud is exempt from this.

Requested by @Mothblocks

Signed-off-by: GitHub <[email protected]>
Co-authored-by: Mothblocks <[email protected]>
Co-authored-by: dragomagol <[email protected]>
…e too (#75617)

![image](https://github.com/tgstation/tgstation/assets/12817816/13d5f3c7-c0cc-4930-8119-e6bde66a1f61)

![image](https://github.com/tgstation/tgstation/assets/12817816/034a17d8-c552-4c3a-8e5f-b210fc4231e5)

I promised I would add it; and while it's not as nice as my previous
iteration it is faster and more streamlined.
:cl:
admin: new log viewer, try it out. (View Round Logs)
/:cl:

Fixes #75605

---------

Co-authored-by: san7890 <[email protected]>
- Removes unnecessary real global vars.
- Adds comments pointing to the init order defined in
/code/game/world.dm.
- Prevent people using `GLOBAL_REAL_VAR` and `GLOBAL_REAL` to circumvent
init order.
- Properly type `PROFILE_STORE` real global.
- Refactored `make_datum_references_lists()` and moved the call to it
into `GLOB` init with duct tape.
- Renamed `GLOB.admin_log` to `GLOB.admin_activities` as it wasn't
actually a log file.
- Whitelist loading happens in config.
- Renamed `SSdbcore`'s `SetRoundID()` to `InitializeRound()`. Now
handles calling `CheckSchemaVersion()`.
- Created macro for setting up log `GLOB`s.
- Removed log line for `GLOB` count.
- Moved call to `make_datum_reference_lists()` to
`/datum/controller/global_vars/Initialize()`. I slimmed it down where
possible too.
- Updated comments about world init order.
- Move `load_admins()` call to after log setup.
- Removes unused function `gib_stack_trace()`.
- Removes a bunch of unused log `GLOB`s.
- Unlocks the secrets of the universe by finally making the first
executed line of code deterministic.

No functional changes. Closes #74792
Testmerge thoroughly.

---------

Co-authored-by: Mothblocks <[email protected]>
Converts all logging, excluding perf and investigate, to json.
I focused on making the system as easy to use and as easy to add new
categories as possible.

Due to issues related to logging to world at global creation logger is
now a byond real, which is created directly before Master

Log categories support versioning, secret flagging, and sub-category
filtering. Although all of this is entirely optional for coders.
If you ever want to add a new category and use it, all you need to do is
make the barebones category datum and the define.
I've kept existing procs such as log_game, and simply turned them into a
wrapper for Logger.Log(xxx, ...)

Makes processing and filtering logs much easier in the future, while
only minimally downgrading log crawling experience.
I am also working on a log viewer frontend for admin usage however that
will take a little bit longer to finish up.
Also makes special logging and data tracking much easier thanks to a
data list processing implementation and handling
:cl:
server: All logs are now formatted in json, excluding perf and
investigations
/:cl:

---------

Signed-off-by: GitHub <[email protected]>
Co-authored-by: tattle <[email protected]>
Co-authored-by: Kyle Spier-Swenson <[email protected]>
Co-authored-by: GoldenAlpharex <[email protected]>
…e too (#75617)

![image](https://github.com/tgstation/tgstation/assets/12817816/13d5f3c7-c0cc-4930-8119-e6bde66a1f61)

![image](https://github.com/tgstation/tgstation/assets/12817816/034a17d8-c552-4c3a-8e5f-b210fc4231e5)

I promised I would add it; and while it's not as nice as my previous
iteration it is faster and more streamlined.
:cl:
admin: new log viewer, try it out. (View Round Logs)
/:cl:

Fixes #75605

---------

Co-authored-by: san7890 <[email protected]>
Converts all logging, excluding perf and investigate, to json.
I focused on making the system as easy to use and as easy to add new
categories as possible.

Due to issues related to logging to world at global creation logger is
now a byond real, which is created directly before Master

Log categories support versioning, secret flagging, and sub-category
filtering. Although all of this is entirely optional for coders.
If you ever want to add a new category and use it, all you need to do is
make the barebones category datum and the define.
I've kept existing procs such as log_game, and simply turned them into a
wrapper for Logger.Log(xxx, ...)

Makes processing and filtering logs much easier in the future, while
only minimally downgrading log crawling experience.
I am also working on a log viewer frontend for admin usage however that
will take a little bit longer to finish up.
Also makes special logging and data tracking much easier thanks to a
data list processing implementation and handling
:cl:
server: All logs are now formatted in json, excluding perf and
investigations
/:cl:

---------

Signed-off-by: GitHub <[email protected]>
Co-authored-by: tattle <[email protected]>
Co-authored-by: Kyle Spier-Swenson <[email protected]>
Co-authored-by: GoldenAlpharex <[email protected]>
…e too (#75617)

![image](https://github.com/tgstation/tgstation/assets/12817816/13d5f3c7-c0cc-4930-8119-e6bde66a1f61)

![image](https://github.com/tgstation/tgstation/assets/12817816/034a17d8-c552-4c3a-8e5f-b210fc4231e5)

I promised I would add it; and while it's not as nice as my previous
iteration it is faster and more streamlined.
:cl:
admin: new log viewer, try it out. (View Round Logs)
/:cl:

Fixes #75605

---------

Co-authored-by: san7890 <[email protected]>
I'm not sure how this ever worked 

closes #75619


![image](https://github.com/tgstation/tgstation/assets/7501474/fff439c5-4719-4a11-934d-4c296865b6ea)

:cl:
fix: Metalgen recipe generation works again
/:cl:
@dwasint dwasint merged commit 8c4beff into Monkestation:master Jan 15, 2024
17 of 18 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants