Commit graph

30 commits

Author SHA1 Message Date
Joas Schilling
aa5f037af7
chore: apply changes from Nextcloud coding standards 1.1.1
Signed-off-by: Joas Schilling <coding@schilljs.com>
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2023-11-23 10:36:13 +01:00
Robin Appelman
53443e836f
fix type in BeforeMessageLoggedEvent
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-06-15 17:29:11 +02:00
Robin Appelman
d9fa7b1e28
emit an event when a message is logged
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-06-13 18:45:48 +02:00
Christoph Wurst
b9850fb926
fix(ocp): Add deprecation version to ILogFactory::getCustomLogger
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2023-03-30 14:11:37 +02:00
Côme Chilliet
f5c361cf44
composer run cs:fix
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-01-20 11:45:08 +01:00
Côme Chilliet
6e22ba832d
Merge pull request #35614 from nextcloud/fix/errorlog-array-to-string-conversion
Fix array to string conversion in errorlog writer
2022-12-19 14:17:39 +01:00
Côme Chilliet
7996a12aef Silence false-positive from psalm in lib/public/Log/functions.php
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2022-12-19 09:10:41 +00:00
Christoph Wurst
58a0740794
fix(logging): Fix array to string conversion in errorlog writer
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2022-12-19 09:31:55 +01:00
Christoph Wurst
450136b7cf
Add a helper function that makes it easier to log from anywhere
Our DI is able to inject a logger implementation to any server and app
class if they want one. However, sometimes DI isn't applicable or hard
to add. In those cases we typically fell back to the *service locator*
pattern where we acquired a logger from the server via a global
variable.

There were some issues with that
* `\OC` is a private class, apps are not supposed to use it
* `\OC::$server` is a global variable, a well known anti-pattern
* `\OC::$server->get(...)` uses the service locator anti-pattern
* `\OC::$server->get(...)` may throw
* `\OC::$server->get(LoggerInterface::class)` is not scoped to an app

With this patch I'm proposing a new helper function ``\OCP\Log\logger``
that can be used to acquire a logger more easily. This function is meant
to be public API and therefore apps may use it and there is an optional
parameter to specifiy the app ID.
The function hides all the ugly details about the global variable and
the potentially thrown exceptions from the user. Therefore it's
guaranteed that you always get a logger instance. In the worst case you
get a noop, though those occasions should be rare.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2022-05-23 09:53:38 +02:00
Joas Schilling
4c41abd816
Allow to get custom loggers for syslog, errorlog and systemdlog too
Signed-off-by: Joas Schilling <coding@schilljs.com>
2022-01-19 16:15:14 +01:00
John Molakvoæ (skjnldsv)
215aef3cbd
Update php licenses
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2021-06-04 22:02:41 +02:00
dartcafe
40929cba79
typo
Signed-off-by: dartcafe <github@dartcafe.de>
2021-05-19 15:46:01 +02:00
dartcafe
7c77e74314
fix #25813
Signed-off-by: dartcafe <github@dartcafe.de>
2021-05-19 13:55:29 +02:00
Joas Schilling
6d502041e0
Fix version
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-04-12 10:31:10 +02:00
Joas Schilling
99e5367208
Move to another namespace and class name
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-04-09 12:51:57 +02:00
Joas Schilling
ca939214bd
Allow apps to log actions into the audit_log
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-04-09 10:32:45 +02:00
Christoph Wurst
d45692ee96
Migrate custom loggers to PSR
This will help phase out the deprecated ILogger interface.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-02-11 16:16:34 +01:00
Christoph Wurst
d89a75be0b
Update all license headers for Nextcloud 21
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-12-16 18:48:22 +01:00
Christoph Wurst
d9015a8c94
Format code to a single space around binary operators
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-10-05 20:25:24 +02:00
Julius Härtl
45a474071e
Remove @package annotations from public namespace
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-08-26 16:59:40 +02: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
Christoph Wurst
1a9330cd69
Update the license headers for Nextcloud 19
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-03-31 14:52:54 +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
Johannes Ernst
0a65e62f29
Added a logger for systemd/journald
Added a unit test

Signed-off-by: Johannes Ernst <jernst@indiecomputing.com>
2018-06-29 10:37:45 +02:00
Arthur Schiwon
b841a477c6
log to $datadir/audit.log by default and add rotation
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2018-04-26 12:10:53 +02:00
Arthur Schiwon
5751788282
add missing php doc and type hints
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