Improve TYPO3 error log

by Rostyslav Matviiv

What is your idea about?

Enhance the log management system by implementing several key features aimed at optimizing error tracking and response. The proposed improvements include:
Error Grouping: Implement an algorithm to group similar errors together. This will make it easier to identify common issues and patterns in the log data, allowing for more efficient debugging and problem resolution.
Detailed Error Information: Enhance the system to provide more comprehensive details about each error. This could include the time of occurrence, affected system components, potential causes, and suggested fixes. Such detailed diagnostics would aid developers in understanding and addressing issues more effectively.
Automated Reporting: Introduce automated reports that summarize errors and their statuses on a daily and weekly basis. These reports would provide a high-level overview of system health, highlighting critical issues and trends in error occurrences.
Severity-Based Notifications: Assign a severity level to each error type and set up notifications to be sent out when errors of certain severity levels are logged. This would ensure that critical issues are promptly communicated to the relevant personnel via email, enabling quick action to mitigate any potential impact.
Customizable Notification Settings: Allow users to customize their notification preferences, such as the severity level thresholds that trigger an alert and the frequency of report generation. This flexibility would enable teams to tailor the log management system to their specific needs and workflows.

What do you want to achieve by the end of Q2 2024?

pre-production version

What is the potential impact of your idea for the overall goal?

Much easier and flexible log management, easier to track the health of the installations

Which budget do you need for your idea?

10.000 Euro

3 Likes

This sounds like a lot to implement in one go. :slightly_smiling_face: Are you planning to use any existing libraries or frameworks, e.g. for the grouping algorithm?

1 Like

In general I like the idea. There are already external solutions like Sentry out there which offer a similar functionality. But as they are external tools you either have to pay as SaaS fee or you have to invest time and money into a self hosted solution.

Does your solution incorporate both logs, sys_log in the database and the file based log in var/log?

From all parts of your proposal I would say the “Detailed Error Information” part is the most important (and probably the most complex) task. Can you elaborate a little bit more about that?

1 Like

I really would like to see that happening. But as Mathias wrote: Maybe we can split this up and start with grouping and detail first? And then continue with reporting, notifications via another budget?

3 Likes

Hi Mathias,
Currently we are not planning to use any existing 3rd-party libraries and develop everything from scratch.
We don’t have a full roadmap yet, but as we see it, three months should be enough for showing a working pre-production prototype which includes all the described features.

Hi Peter,
Thanks for your interest in our idea :slight_smile:
In this iteration, our focus lies on developing a toolset specifically tailored for native PHP errors. However, we are enthusiastic about incorporating support for TYPO3 errors in forthcoming iterations.
Initially, our error information implementation will feature comprehensive stack traces, statistics regarding error occurrences, and suggestions for potential resolutions. This will be accomplished through either leveraging LLM prompts or querying knowledge bases.
Our primary objective is to empower developers to access necessary information conveniently within the TYPO3 Backend or via email, thereby eliminating the need to sift through log files, enable displayErrors, or insert debugging code.

Hi Daniel,

Thank you for your enthusiasm about this idea.

From our perspective it is better to do a minimal working solution which involves all the aspects of the concept and then improve already implemented parts. And as we see it, three months are enough to implement a pre-production/demo. Also, the part with reporting/notification is much smaller than the main functionality so we are not sure if it is enough for separate budget proposal.

Hi Mathias, here is our final concept of what is going to be implemented: TYPO3 error log extension concept - Google Docs

Please have a look and if you have any suggestions leave them as a comments in the document!

We appreciate any thoughts :slight_smile:

Hi Peter, here is our final concept of what is going to be implemented: TYPO3 error log extension concept - Google Docs

Please have a look and if you have any suggestions leave them as a comments in the document!

We appreciate any thoughts :slight_smile:

Hi Daniel, here is our final concept of what is going to be implemented: TYPO3 error log extension concept - Google Docs

Please have a look and if you have any suggestions leave them as a comments in the document!

We appreciate any thoughts :slight_smile:

Cool, thanks for keeping all of us in the loop and publishing the concept. I like to see the concept first, and that you gather feedback before implementing.

I already like the different comments/suggestions from different people. Really feels like the whole community is working together and you are the leader of the topic. I like it.

1 Like

Hi.

I remember the Monolog topic, here: Feature #94600: Use Monolog for injected logging services - TYPO3 Core - TYPO3 Forge
Please interview the people that were involved in the (abondoned) change, here: https://review.typo3.org/c/Packages/TYPO3.CMS/+/70014 in order to get their experience in the logging topic.

Cheers