2

I've got a Craft CMS installation that is set to production mode. I notice that my logs get flooded with a bunch of entries which don't seem very useful.

For example, in a matter of several days, I've already got console.log up to console.log.5 - So it's rotated the log file 5 times already. These files are filled with what seems like every single query that gets executed on the website. They're 70k lines a piece. It also logs a lot of entries in queue.log, among other files.

How can I stop logging information and only log things which require my attention, such as errors?

Thanks!

  • Are you sure you don't have devMode enabled in production? docs.craftcms.com/v3/config/config-settings.html#devmode – Brad Bell Oct 27 '18 at 21:42
  • My .env file is set to "production", and in config/general.php I'm don't have any devMode item in the production array. The linked documentation says the default value is false - so I would assume it should be false. – Tyler Oct 27 '18 at 23:43
  • We run into the same issue. We explicitly have devMode set to false in production and our queue and/or console logs generally fill all five files in a manner of minutes. It appears every single SQL query gets written to the log. It is so hard to diagnose issues when all the log files are overwritten/rewritten in a manner of minutes. – Benjamin Kohl Feb 12 at 18:06
3

As someone who theoretically might inherit your site one day... and also as future-you trying to diagnose a problem... please don't try to limit what Craft logs. If you want a quicker way to look for critical problems, check out the Yii2 Debug Toolbar as discussed here Profiling your Website with Craft CMS 3’s Debug Toolbar

You can use it to very quickly and easily see only errors, or only warnings, and so on. And then if the additional data that Craft logs is needed to help you diagnose a problem, it'll still be there.

To learn how to parse the Craft CMS log files quickly, check out the Zen and the Art of Craft CMS Log File Reading

If you do end up wanting to make your own logger, check out the Creating a Custom Logger for Craft CMS article

I echo Brad's comments, though, unless for some reason devMode is on, it shouldn't be logging every query, except for performance profiling.

| improve this answer | |
1

This will be a similar answer as here: Craft 3 large log file sizes

Basically Craft goes with Yii's default FileTarget settings, which is 5 log files of 10MB each before they start rotating out. Those are individual limits for both web.log and console.log files.

If you want to change those behaviors you'll need to modify those properties via a config/app.php file using your own FileTarget settings.

There's another post here with some useful guidance: Craft 3 plugins - Logging in a separate *.log file

| improve this answer | |
1

We were having the same issue. Our logs were getting so dense with SQL statements that it was hard to find our errors. And for the most part, seeing Craft's internal SQL would not help us debug the problem.

What we've found is we can use the onelogger plugin. After installing it, we just needed to add a file called onelogger.php to our config file. This is what we used:

<?php

return [
  'logLevels' => getenv('ONELOGGER_LOG_LEVELS') ? explode(',', getenv('ONELOGGER_LOG_LEVELS')) : ['warning', 'error']
];
| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.