better error loging

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • jamie
    Senior Member
    • Aug 2025
    • 262

    #1

    better error loging

    Just what am I meant to do with the below output, is it from a workflow, a flowchart, a workchart? if so, what one? Who even knows?,

    At least include enough information that i can track down the problem easily without making it a wild goose chase and wasting my time.

    Just what is the point of giving errors i can't track down? You might as well not display them if the purpose isn't to fix them


    [2026-03-19 13:00:05] NOTICE: Formula function: array\at, index doesn't exist
    [2026-03-19 13:00:05] NOTICE: Formula function: array\at, index doesn't exist
    [2026-03-19 13:00:05] NOTICE: Formula function: array\at, index doesn't exist
    [2026-03-19 13:00:05] NOTICE: Formula function: array\at, index doesn't exist
    [2026-03-19 13:00:05] NOTICE: Formula function: array\at, index doesn't exist
    [2026-03-19 13:00:05] NOTICE: Formula function: array\at, index doesn't exist
    [2026-03-19 13:00:05] NOTICE: Formula function: array\at, index doesn't exist
    [2026-03-19 13:00:06] NOTICE: Formula function: array\at, index doesn't exist
    [2026-03-19 13:00:06] NOTICE: Formula function: array\at, index doesn't exist
    [2026-03-19 13:00:06] NOTICE: Formula function: array\at, index doesn't exist
    [2026-03-19 13:00:06] NOTICE: Formula function: array\at, index doesn't exist
    [2026-03-19 13:00:06] NOTICE: Formula function: array\at, index doesn't exist
    [2026-03-19 13:00:06] NOTICE: Formula function: array\at, index doesn't exist
    [2026-03-19 13:00:06] NOTICE: Formula function: array\at, index doesn't exist
    [2026-03-19 13:00:06] NOTICE: Formula function: array\at, index doesn't exist
    [2026-03-19 13:00:06] NOTICE: Formula function: array\at, index doesn't exist
    [2026-03-19 13:00:06] NOTICE: Formula function: array\at, index doesn't exist
    [2026-03-19 13:00:06] NOTICE: Formula function: array\at, index doesn't exist
    [2026-03-19 13:00:06] NOTICE: Formula function: array\at, index doesn't exist
    [2026-03-19 13:00:06] NOTICE: Formula function: array\at, index doesn't exist
    [2026-03-19 13:00:06] NOTICE: Formula function: array\at, index doesn't exist
    [2026-03-19 13:00:06] NOTICE: Formula function: array\at, index doesn't exist
    [2026-03-19 13:00:06] NOTICE: Formula function: array\at, index doesn't exist
    [2026-03-19 13:00:06] NOTICE: Formula function: array\at, index doesn't exist
    [2026-03-19 13:00:06] NOTICE: Formula function: array\at, index doesn't exist
    [2026-03-19 13:00:06] NOTICE: Formula function: array\at, index doesn't exist
    [2026-03-19 13:00:06] NOTICE: Formula function: array\at, index doesn't exist
    [2026-03-19 13:00:06] NOTICE: Formula function: array\at, index doesn't exist
    [2026-03-19 13:00:06] WARNING: Workflow: Could not get related entity by path 'sentBy.teams'.
    [2026-03-19 13:00:06] WARNING: Workflow: Could not get related entity by path 'sentBy.teams'.
    [2026-03-19 13:00:06] NOTICE: Formula function: array\at, index doesn't exist
    [2026-03-19 13:00:06] NOTICE: Formula function: array\at, index doesn't exist
    [2026-03-19 13:00:06] NOTICE: Formula function: array\at, index doesn't exist
    [2026-03-19 13:00:06] NOTICE: Formula function: array\at, index doesn't exist
    [2026-03-19 13:00:06] NOTICE: Formula function: array\at, index doesn't exist
    [2026-03-19 13:00:06] NOTICE: Formula function: array\at, index doesn't exist
    [2026-03-19 13:00:06] NOTICE: Formula function: array\at, index doesn't exist
    [2026-03-19 13:00:06] NOTICE: Formula function: array\at, index doesn't exist
    [2026-03-19 13:00:06] NOTICE: Formula function: array\at, index doesn't exist
    [2026-03-19 13:00:06] NOTICE: Formula function: array\at, index doesn't exist
    [2026-03-19 13:00:06] NOTICE: Formula function: array\at, index doesn't exist
    [2026-03-19 13:00:06] NOTICE: Formula function: array\at, index doesn't exist
    [2026-03-19 13:00:06] NOTICE: Formula function: array\at, index doesn't exist
    [2026-03-19 13:00:06] NOTICE: Formula function: array\at, index doesn't exist
    [2026-03-19 13:00:06] NOTICE: Formula function: array\at, index doesn't exist
    [2026-03-19 13:00:06] NOTICE: Formula function: array\at, index doesn't exist
    [2026-03-19 13:00:06] NOTICE: Formula function: array\at, index doesn't exist
    [2026-03-19 13:00:06] NOTICE: Formula function: array\at, index doesn't exist
    [2026-03-19 13:00:06] NOTICE: Formula function: array\at, index doesn't exist
    [2026-03-19 13:00:06] NOTICE: Formula function: array\at, index doesn't exist
    [2026-03-19 13:00:06] NOTICE: Formula function: array\at, index doesn't exist
    [2026-03-19 13:00:06] NOTICE: Formula function: array\at, index doesn't exist
    [2026-03-19 13:00:06] NOTICE: Formula function: array\at, index doesn't exist
    [2026-03-19 13:00:06] NOTICE: Formula function: array\at, index doesn't exist
    [2026-03-19 13:00:06] NOTICE: Formula function: array\at, index doesn't exist
    [2026-03-19 13:00:06] NOTICE: Formula function: array\at, index doesn't exist
    [2026-03-19 13:00:07] NOTICE: Formula function: array\at, index doesn't exist
    [2026-03-19 13:00:07] NOTICE: Formula function: array\at, index doesn't exist
    [2026-03-19 13:00:07] NOTICE: Formula function: array\at, index doesn't exist
    [2026-03-19 13:00:07] NOTICE: Formula function: array\at, index doesn't exist
    [2026-03-19 13:00:07] NOTICE: Formula function: array\at, index doesn't exist
    [2026-03-19 13:00:07] NOTICE: Formula function: array\at, index doesn't exist
    [2026-03-19 13:00:07] NOTICE: Formula function: array\at, index doesn't exist
    [2026-03-19 13:00:07] NOTICE: Formula function: array\at, index doesn't exist
    [2026-03-19 13:00:07] NOTICE: Formula function: array\at, index doesn't exist
    [2026-03-19 13:00:07] NOTICE: Formula function: array\at, index doesn't exist
    [2026-03-19 13:00:07] NOTICE: Formula function: array\at, index doesn't exist
    [2026-03-19 13:00:07] NOTICE: Formula function: array\at, index doesn't exist
    [2026-03-19 13:00:07] NOTICE: Formula function: array\at, index doesn't exist
    [2026-03-19 13:00:07] NOTICE: Formula function: array\at, index doesn't exist
    [2026-03-19 13:00:07] NOTICE: Formula function: array\at, index doesn't exist
    [2026-03-19 13:00:07] NOTICE: Formula function: array\at, index doesn't exist
    [2026-03-19 13:00:07] NOTICE: Formula function: array\at, index doesn't exist
    [2026-03-19 13:00:07] NOTICE: Formula function: array\at, index doesn't exist
    [2026-03-19 13:00:07] NOTICE: Formula function: array\at, index doesn't exist
    [2026-03-19 13:00:07] NOTICE: Formula function: array\at, index doesn't exist
    [2026-03-19 13:00:07] NOTICE: Formula function: array\at, index doesn't exist
    [2026-03-19 13:00:07] NOTICE: Formula function: array\at, index doesn't exist
    [2026-03-19 13:
    [2026-03-19 13:00:08] NOTICE: Formula function: array\at, index doesn't exist
    [2026-03-19 13:00:08] NOTICE: Formula function: array\at, index doesn't exist
    [2026-03-19 13:00:08] NOTICE: Formula function: array\at, index doesn't exist
    [2026-03-19 13:00:08] NOTICE: Formula function: array\at, index doesn't exist
    [2026-03-19 13:00:08] NOTICE: Formula function: array\at, index doesn't exist
    [2026-03-19 13:00:08] NOTICE: Formula function: array\at, index doesn't exist
    [2026-03-19 13:00:08] NOTICE: Formula function: array\at, index doesn't exist
    [2026-03-19 13:00:08] NOTICE: Formula function: array\at, index doesn't exist
    [2026-03-19 13:00:08] NOTICE: Formula function: array\at, index doesn't exist
    [2026-03-19 13:00:08] NOTICE: Formula function: array\at, index doesn't exist
    [2026-03-19 13:00:08] NOTICE: Formula function: array\at, index doesn't exist
    [2026-03-19 13:00:08] NOTICE: Formula function: array\at, index doesn't exist
    [2026-03-19 13:00:08] NOTICE: Formula function: array\at, index doesn't exist
    [2026-03-19 13:00:09] NOTICE: Formula function: array\at, index doesn't exist
    [2026-03-19 13:00:09] NOTICE: Formula function: array\at, index doesn't exist
    [2026-03-19 13:00:10] NOTICE: Formula function: array\at, index doesn't exist
    [2026-03-19 13:00:10] NOTICE: Formula function: array\at, index doesn't exist
    [2026-03-19 13:00:10] NOTICE: Formula function: array\at, index doesn't exist
    [2026-03-19 13:00:10] NOTICE: Formula function: array\at, index doesn't exist
    [2026-03-19 13:00:10] NOTICE: Formula function: array\at, index doesn't exist
    [2026-03-19 13:00:10] NOTICE: Formula function: array\at, index doesn't exist
    [2026-03-19 13:01:26] ERROR:
    [2026-03-19 13:01:26] ERROR:
    [2026-03-19 13:01:59] ERROR:
    [2026-03-19 13:01:59] ERROR:
    [2026-03-19 13:03:16] ERROR:
    [2026-03-19 13:03:16] ERROR:
    [2026-03-19 13:03:16] ERROR:
    [2026-03-19 13:03:16] ERROR:
    [2026-03-19 13:03:30] ERROR:
    [2026-03-19 13:03:30] ERROR:
    [2026-03-19 13:03:30] NOTICE: Formula function: array\at, index doesn't exist
    [2026-03-19 13:03:41] ERROR:
    [2026-03-19 13:03:41] ERROR:
    [2026-03-19 13:03:44] ERROR:
    [2026-03-19 13:03:44] ERROR:
    [2026-03-19 13:03:51] ERROR:
    [2026-03-19 13:03:51] ERROR:
    [2026-03-19 13:03:52] ERROR: No access.
    [2026-03-19 13:03:59] WARNING: Workflow: Could not get related entity by path 'sentBy.teams'.
    [2026-03-19 13:03:59] WARNING: Workflow: Could not get related entity by path 'sentBy.teams'.
    [2026-03-19 13:04:07] ERROR:
    [2026-03-19 13:04:07] ERROR:
    [2026-03-19 13:04:15] ERROR:
    [2026-03-19 13:04:15] ERROR:
    [2026-03-19 13:04:18] WARNING: Workflow: Could not get related entity by path 'sentBy.teams'.
    [2026-03-19 13:04:18] WARNING: Workflow: Could not get related entity by path 'sentBy.teams'.
    [2026-03-19 13:04:18] WARNING: E_WARNING: Undefined array key 6
    [2026-03-19 13:04:18] WARNING: E_WARNING: Undefined array key 6
  • yuri
    EspoCRM product developer
    • Mar 2014
    • 9739

    #2
    Most errors can be tracked down by enabling tracing in the log. It's how it's supposed to work.

    Some log messages are not traced, if there are some important, each one should be fixed separately. There's no single engine that we can fix so all log messages are traced.

    > Just what is the point of giving errors i can't track down?

    There's no need to write this in a feature request other than to add more toxic tone to it.

    Comment

    • jamie
      Senior Member
      • Aug 2025
      • 262

      #3
      It's meant to share my sense of frustration at seeing a massive amount of errors in my setup, but because of obscurity, doing anything about this is very difficult

      Well, maybe it's time to have all errors feed through a single log function so they can be better handled and traced. Many of them list the offending workflow ID, and that's all I need, but without any source of reference, I am probably going to have to write my own script just to handle the shortcomings of the output

      Comment

      • yuri
        EspoCRM product developer
        • Mar 2014
        • 9739

        #4
        The all go through the standard PSR logger. In case of exceptions, they can be traced. In case of notices (just message), they can't be easily traced. We can add some context, and sometime we do add, but often it's very hard to know the exact context at it occurs very deep. We try not to use notices and prefer errors now, it's usually a legacy code that can't be changed to prevent compatibility breaks.

        Comment

        • jamie
          Senior Member
          • Aug 2025
          • 262

          #5
          if you could just always display the workflow id that would be amazing

          Comment

          • yuri
            EspoCRM product developer
            • Mar 2014
            • 9739

            #6
            Yes, but understand the the formula function is not aware of the workflows feature neither any other potential future feature it will be called from. How it's suppose to work: when an error occurred in a formula function, it is bubbled up until it's caught by something above. I believe we do it for workflow and display the ID. Not sure if it's always the case, need to check.

            For notices it's impossible to display the workflow ID.


            For "Workflow: Could not get related entity by path", it's possible and we should fix it (unfortunately the fix is not trivial in this particular case). But it's really the case that is not a real error and could be even lowered to the INFO level.
            Last edited by yuri; Today, 08:39 AM.

            Comment

            Working...