The logger is present by default in the container. The app that is logging is set automatically.

The logger can be used in the following way:

namespace OCA\MyApp\Service;

use Psr\Log\LoggerInterface;

class AuthorService {

    private $logger;
    private $appName;

    public function __construct(LoggerInterface $logger, string $appName){
        $this->logger = $logger;
        $this->appName = $appName;

    public function log($message) {
        $this->logger->error($message, ['extra_context' => 'my extra context']);


The following methods are available:

  • emergency
  • alert
  • critical
  • error
  • warning
  • notice
  • info
  • debug