ILIAS  trunk Revision v13.0_alpha-62-g3b72d83f2e5
Logging.php
Go to the documentation of this file.
1<?php
2
19declare(strict_types=1);
20
21namespace ILIAS;
22
25
27{
28 public function init(
29 array | \ArrayAccess &$define,
30 array | \ArrayAccess &$implement,
31 array | \ArrayAccess &$use,
32 array | \ArrayAccess &$contribute,
33 array | \ArrayAccess &$seek,
34 array | \ArrayAccess &$provide,
35 array | \ArrayAccess &$pull,
36 array | \ArrayAccess &$internal,
37 ): void {
38 $define[] = Logging\Logger\LoggerFactoryInterface::class;
39 $define[] = Logging\Logger\DefaultConfigLoggerFactoryInterface::class;
40 $define[] = Logging\Config\ConfigInterface::class;
41
42 $internal[Logging\Config\Basic\ConfigInterface::class] = static fn() =>
44 new Logging\Config\Basic\IniReader(
45 $use[Environment\Configuration\Installation\IliasIni::class]
46 )
47 );
48 $internal[Logging\Config\ByComponent\ConfigInterface::class] = static fn() =>
50 new Logging\Config\ByComponent\DBRepository(
51 $pull[Database\Connection::class]
52 ),
53 $internal[Logging\Config\Basic\ConfigInterface::class]
54 );
55 $internal[Logging\Logger\LevelFetcher\LevelFetcherFactory::class] = static fn() =>
57 $internal[Logging\Logger\LazyInternalFactoryInterface::class] = static fn() =>
59 new Logging\Logger\Monolog\Factory(),
60 $internal[Logging\Config\Basic\ConfigInterface::class],
61 $seek[Logging\Logger\Monolog\Handler\ProviderInterface::class]
62 );
63
64 $implement[Logging\Logger\LoggerFactoryInterface::class] = static fn() =>
66 $internal[Logging\Logger\LazyInternalFactoryInterface::class],
67 $internal[Logging\Config\ByComponent\ConfigInterface::class],
68 $internal[Logging\Logger\LevelFetcher\LevelFetcherFactory::class]
69 );
70 $implement[Logging\Logger\DefaultConfigLoggerFactoryInterface::class] = static fn() =>
72 $internal[Logging\Logger\LazyInternalFactoryInterface::class],
73 $internal[Logging\Config\Basic\ConfigInterface::class],
74 $internal[Logging\Logger\LevelFetcher\LevelFetcherFactory::class]
75 );
76 $implement[Logging\Config\ConfigInterface::class] = static fn() =>
78 $internal[Logging\Config\Basic\ConfigInterface::class],
79 $internal[Logging\Config\ByComponent\ConfigInterface::class]
80 );
81
82 $contribute[Logging\Logger\Monolog\Handler\ProviderInterface::class] = static fn() =>
84 $internal[Logging\Config\Basic\ConfigInterface::class]
85 );
86
87 $contribute[Setup\Agent::class] = static fn() =>
89 $pull[Refinery\Factory::class]
90 );
91 $contribute[LanguageFileDirectory::class] = fn() => new ComponentLanguageFileDirectory(
92 $this,
93 'logging'
94 );
95 $contribute[LanguageFileDirectory::class] = fn() => new ComponentLanguageFileDirectory(
96 $this,
97 'log'
98 );
99 }
100}
Builds a Color from either hex- or rgb values.
Definition: Factory.php:31
init(array|\ArrayAccess &$define, array|\ArrayAccess &$implement, array|\ArrayAccess &$use, array|\ArrayAccess &$contribute, array|\ArrayAccess &$seek, array|\ArrayAccess &$provide, array|\ArrayAccess &$pull, array|\ArrayAccess &$internal,)
Definition: Logging.php:28
A directory of language files with a path and a prefix for them.
A configuration for the setup.
Definition: Config.php:27
A component is the most general form of an entity in the UI.
Definition: Component.php:28
Interface Observer \BackgroundTasks Contains several chained tasks and infos about them.