1. Go to this page and download the library: Download checklogs/php-sdk library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
checklogs / php-sdk example snippets
heckLogs\CheckLogsLogger;
use CheckLogs\LogLevel;
// Créer un logger
$logger = new CheckLogsLogger('votre-cle-api');
// Logger des messages
$logger->info('Application démarrée');
$logger->error('Erreur de connexion', ['code' => 500]);
use function CheckLogs\{createLogger, quickLog, quickError};
// Fonction rapide pour créer un logger
$logger = createLogger('votre-cle-api');
// Logs rapides
quickLog('votre-cle-api', 'Message rapide');
quickError('votre-cle-api', 'Erreur rapide');
$logger = new CheckLogsLogger('votre-cle-api', [
'source' => 'mon-app', // Source par défaut
'defaultContext' => ['env' => 'prod'], // Contexte par défaut
'consoleOutput' => true, // Afficher aussi en console
'timeout' => 5000, // Timeout en ms
]);
$logger->debug('Message de debug');
$logger->info('Information générale');
$logger->warning('Attention');
$logger->error('Erreur');
$logger->critical('Erreur critique');
// Mesurer le temps d'exécution
$endTimer = $logger->time('db-query', 'Requête base de données');
// ... votre code ...
$duration = $endTimer(); // Log automatique avec la durée
echo "Opération: {$duration}ms";
use function CheckLogs\{
measureExecutionTime,
createRequestLogger,
setupGlobalErrorHandling,
formatMessage
};
// Mesurer une fonction
$result = measureExecutionTime(function() {
// Votre code
return "résultat";
}, $logger, 'mon-operation');
// Logger pour requêtes HTTP
$requestLogger = createRequestLogger('api-key', 'POST', '/api/users');
// Gestion globale des erreurs
setupGlobalErrorHandling($logger);
// Template de messages
$message = formatMessage('Utilisateur {user_id} a effectué {action}', [
'user_id' => 123,
'action' => 'connexion'
]);
// Dans un Service Provider
use CheckLogs\CheckLogsLogger;
$this->app->singleton(CheckLogsLogger::class, function ($app) {
return new CheckLogsLogger(config('services.checklogs.api_key'), [
'source' => config('app.name'),
'defaultContext' => ['env' => config('app.env')]
]);
});
// Dans un Controller
public function store(Request $request, CheckLogsLogger $logger)
{
$logger->info('Création utilisateur', $request->only(['email']));
// ...
}
// Dans services.yaml
services:
CheckLogs\CheckLogsLogger:
arguments:
$apiKey: '%env(CHECKLOGS_API_KEY)%'
$options:
source: '%kernel.project_dir%'
// Dans un Controller
public function create(CheckLogsLogger $logger)
{
$logger->info('Action create appelée');
// ...
}
CheckLogs\CheckLogsLogger;
use function CheckLogs\{setupGlobalErrorHandling, createRequestLogger};
// Logger principal
$logger = new CheckLogsLogger('votre-cle-api', [
'source' => 'mon-site',
'consoleOutput' => true
]);
// Configuration globale des erreurs
setupGlobalErrorHandling($logger);
// Logger pour chaque requête
$requestLogger = createRequestLogger(
'votre-cle-api',
$_SERVER['REQUEST_METHOD'],
$_SERVER['REQUEST_URI'],
['user_ip' => $_SERVER['REMOTE_ADDR']]
);
$requestLogger->info('Requête reçue');
try {
// Votre logique applicative
processRequest();
$requestLogger->info('Requête traitée avec succès');
} catch (Exception $e) {
$requestLogger->error('Erreur lors du traitement', [
'error' => $e->getMessage(),
'trace' => $e->getTraceAsString()
]);
}
use function CheckLogs\{configureGlobalLogger, getGlobalLogger, globalLog};
// Configurer une seule fois
configureGlobalLogger('votre-cle-api', [
'source' => 'global-app',
'consoleOutput' => true
]);
// Utiliser partout dans l'application
$logger = getGlobalLogger();
$logger->info('Message depuis le logger global');
// Ou directement
globalLog('info', 'Message direct');
use CheckLogs\CheckLogsLogger;
$logger = new CheckLogsLogger('votre-cle-api');
$logger->info('Hello CheckLogs!');
bash
composer
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.