Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions app/Config/Logger.php
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,22 @@ class Logger extends BaseConfig
*/
public string $dateFormat = 'Y-m-d H:i:s';

/**
* --------------------------------------------------------------------------
* Whether to log the global context
* --------------------------------------------------------------------------
*
* You can enable/disable logging of global context data, which comes from the
* `CodeIgniter\Context\Context` class. This data is automatically included in
* logs, and can be set using the `set()` method of the Context class. This is
* useful for including additional information in your logs, such as user IDs,
* request IDs, etc.
*
* **NOTE:** This **DOES NOT** include any data that has been marked as hidden
* using the `setHidden()` method of the Context class.
*/
public bool $logGlobalContext = false;

/**
* --------------------------------------------------------------------------
* Log Handlers
Expand Down
12 changes: 12 additions & 0 deletions system/Common.php
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
use CodeIgniter\Cache\CacheInterface;
use CodeIgniter\Config\BaseConfig;
use CodeIgniter\Config\Factories;
use CodeIgniter\Context\Context;
use CodeIgniter\Cookie\Cookie;
use CodeIgniter\Cookie\CookieStore;
use CodeIgniter\Cookie\Exceptions\CookieException;
Expand Down Expand Up @@ -212,6 +213,17 @@ function config(string $name, bool $getShared = true)
}
}

if (! function_exists('context')) {
/**
* Provides access to the Context object, which is used to store
* contextual data during a request that can be accessed globally.
*/
function context(): Context
{
return service('context');
}
}

if (! function_exists('cookie')) {
/**
* Simpler way to create a new Cookie instance.
Expand Down
13 changes: 13 additions & 0 deletions system/Config/Services.php
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
use CodeIgniter\Cache\ResponseCache;
use CodeIgniter\CLI\Commands;
use CodeIgniter\CodeIgniter;
use CodeIgniter\Context\Context;
use CodeIgniter\Database\ConnectionInterface;
use CodeIgniter\Database\MigrationRunner;
use CodeIgniter\Debug\Exceptions;
Expand Down Expand Up @@ -868,4 +869,16 @@ public static function typography(bool $getShared = true)

return new Typography();
}

/**
* The Context class provides a way to store and retrieve static data throughout requests.
*/
public static function context(bool $getShared = true): Context
{
if ($getShared) {
return static::getSharedInstance('context');
}

return new Context();
}
}
Loading
Loading