Commit Graph

51 Commits

Author SHA1 Message Date
Roeland Jago Douma 7d282a4e88 Avoid huge exception argument logging
In some cases it might happen that you have an argument that deep down
somewhere has an array with a lot of entries (think thousands). Now
before we would just happily print them all. Which would fill the log.

Now it will just print the first 5. And add a line that there are N
more.

If you are on debug level we will still print them all.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-12-29 10:46:54 +00:00
Christoph Wurst caff1023ea
Format control structures, classes, methods and function
To continue this formatting madness, here's a tiny patch that adds
unified formatting for control structures like if and loops as well as
classes, their methods and anonymous functions. This basically forces
the constructs to start on the same line. This is not exactly what PSR2
wants, but I think we can have a few exceptions with "our" style. The
starting of braces on the same line is pracrically standard for our
code.

This also removes and empty lines from method/function bodies at the
beginning and end.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-04-10 14:19:56 +02:00
Arthur Schiwon e008444887
always require a message paramter for data logging
also ensure it plays well with current log reader

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2020-01-28 13:00:13 +01:00
Arthur Schiwon 46aaeb4561
log Flow activity
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2020-01-28 10:58:57 +01:00
Christoph Wurst 5bf3d1bb38
Update license headers
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2019-12-05 15:38:45 +01:00
Roeland Jago Douma 68748d4f85
Some php-cs fixes
* Order the imports
* No leading slash on imports
* Empty line before namespace
* One line per import
* Empty after imports
* Emmpty line at bottom of file

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-11-22 20:52:10 +01:00
Julius Härtl 0a4dd3605b
Do not escape slashes for logged exceptions
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-10-15 16:09:23 +02:00
Robin Appelman 2943c18548
catch exceptions that occur during logging
Signed-off-by: Robin Appelman <robin@icewind.nl>
2019-09-19 13:39:40 +02:00
Christoph Wurst d3a244f9d9
Allow crash reporters to catpture any message
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2019-05-09 14:06:44 +02:00
Christoph Wurst ff58732c0d
Add breadcrumb support to crash reporters
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2018-09-05 20:58:39 +02:00
Roeland Jago Douma 8cdd134e7e
Fetch logcondition earlier
Fixes #9693

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-07-30 14:57:19 +02:00
Roeland Jago Douma a52d206684
Make sure the log doesn't try to read from PUT if it can't
If a PUT request comes in that is not JSON or from encoded. Then we can
only read it (exactly) once. If that is the case we must assume no
shared secret is set.

If we don't then we either are the first to read it, thus causing the
real read of the data to fail.

Or we are later and then it throws an exception (also failing the
request).

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-05-30 20:18:19 +02:00
Arthur Schiwon 0e6a317516
revert Log's dependency to SystemConfig to work during Installation
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2018-04-26 12:10:53 +02:00
Arthur Schiwon 69592408c4
move IFileBased to public namespace, logreader needs it
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2018-04-26 12:10:52 +02:00
Arthur Schiwon cfc3ab0119
offer API to create own File log. admin_audit makes use of it
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2018-04-26 12:10:52 +02:00
Arthur Schiwon 5fbf184134
destaticfy Log classes
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2018-04-26 12:00:06 +02:00
Arthur Schiwon 38a90130ce
move log constants to ILogger
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2018-04-26 10:45:52 +02:00
Robin Appelman f399e1591f
Log classnames of arguments in exception trace
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-04-17 13:46:36 +02:00
Robin Appelman 96f14a2e90 log previous exception
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-04-11 14:35:08 +02:00
Robin Appelman 15815c034f adjust tests to new exception log format
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-04-11 11:46:36 +02:00
Robin Appelman b9583c6dce Log exceptions as nested array instead of encoded json
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-04-10 15:53:43 +02:00
Roeland Jago Douma 6994bce951
Loglevel is an int
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-02-27 10:45:35 +01:00
Roeland Jago Douma 83eb548d23
Typehint Throwable
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-02-27 10:43:34 +01:00
Roeland Jago Douma 4077f16aec
Make ILogger strict
* Make implementations strict
* Add scalar typehints

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-02-27 10:41:46 +01:00
Morris Jobke 132764bff5
Pass log level to log reporters
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-11-27 16:46:47 +01:00
Christoph Wurst ad757805ca Pass the exception context to the crash reporter
This should allow better reports as often the app id is passed
as context. While this is not used right now, I'd like to have this
for NC13 as adding it later will break the interface for existing apps

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2017-11-14 14:28:04 +01:00
Christoph Wurst 4c5593998a Add a mechanism to register crach reporters
This adds a crash reporter registry, which is meant for third party apps
to hook into the error logging/reporting chain. This way, external tools
like Sentry can be used to track and aggregate system crashes.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2017-11-14 12:20:05 +01:00
Morris Jobke 0eebff152a
Update license headers
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-11-06 16:56:19 +01:00
Johannes Schlichenmaier 4ae7275aeb Added additional methods for removal of sensitive info
Signed-off-by: Johannes Schlichenmaier <johannes@schlichenmaier.info>
2017-10-27 10:36:58 +02:00
Morris Jobke 11c31e94fe
Improve exception handling
If there is an exception in the template handling then a white page is shown.
This improves the handling of this and shows text only about the internal
error.

To test this just setup redis as cache and then disable the php-redis module.

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-09-26 13:54:51 +02:00
Joas Schilling b68609d0cf
Don't log LDAP password when server is not available
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-09-06 16:38:55 +02:00
Joas Schilling b27819785e
Don't log passwords on dav exceptions
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-06-29 17:20:10 +02:00
Morris Jobke c54a59d51e
Remove unused use statements
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-04-22 19:23:31 -05:00
Morris Jobke 4eddb95fc4
Add method to $methodsWithSensitiveParameters
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-04-06 15:22:43 +02:00
Joas Schilling d0e6235b03
Don't log the password on confirmPassword when LDAP throws an exception
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-02-07 12:16:11 +01:00
Joas Schilling 7fa063ceca
Better fallback for unknown log types
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-01-10 12:59:13 +01:00
Joas Schilling e7ff1ba548
Add tests
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-01-09 10:55:40 +01:00
Joas Schilling 7573fa3148
Handle log_type "nextcloud" more gracefully
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-01-05 12:47:27 +01:00
Lukas Reschke ab4353457d
Default to empty string
Otherwise `null` is returned which leads to a ton of similar error messages if the log condition setting is enabled.:

```
{"reqId":"3wVBarnDfOV3qkI1bVCU","remoteAddr":"89.98.78.41","app":"PHP","message":"hash_equals(): Expected user_string to be a string, null given at \/var\/www\/html\/lib\/private\/Log.php#275","level":3,"time":"2016-10-07T14:22:15+00:00","method":"PROPFIND","url":"\/remote.php\/webdav\/","user":"icewind"}
```
2016-10-07 16:23:05 +02:00
Juan Pablo Villafáñez 26f1ea1cea
Change the minimum log level to fatal
Downstreaming of https://github.com/owncloud/core/pull/26213

Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2016-09-26 11:41:20 +02:00
Arthur Schiwon b13092065a
hide parameters of tryLogin when logging 2016-08-22 16:45:07 +02:00
Thomas Pulzer b058639a8a Changed code style and made use of '===' comparison. 2016-07-22 14:45:33 +02:00
Thomas Pulzer ba3f4f118e Changed logtype to file instead of owncloud.
- Updated the config sample to point to log_type='file'
- Renamed the Class for logfile logging to File in namespace 'OC\Log\'.
  Changed the occurrences of 'OC\Log\Owncloud' to 'OC\Log\File'.
- Renamed the Class for log:file command to File in namespace 'OC\Core\Command\Log\File'.
  Changed registration of the command to use 'OC\Core\Command\Log\File'.
- Changed default Syslog tag to Nextcloud
- Retained backwards compatibility for configs with 'logtype' => 'owncloud'

- Adjusted tests for the new file log.

Closes #490.
2016-07-22 11:44:19 +02:00
Joas Schilling 0215b004da
Update with robin 2016-07-21 18:13:58 +02:00
Joas Schilling ba87db3fcc
Fix others 2016-07-21 18:13:57 +02:00
Morris Jobke 390a996297
Sanitize more config options and stack traces 2016-07-08 14:13:16 +02:00
Joas Schilling e49307014c Do not log token or challenge with exception stacktrace (#25026)
* Make the filtering better readable

* Add some more methods to the sensitive list
2016-06-08 16:32:58 +02:00
Lukas Reschke aba539703c
Update license headers 2016-05-26 19:57:24 +02:00
Roeland Jago Douma fc82047e26
Move OC_Log_xx to \OC\Log namespace 2016-05-03 08:57:26 +02:00
Joas Schilling 3397e27657
Remove the password from the validateUserPass() method as well 2016-05-02 10:44:09 +02:00