Skip to content

Instantly share code, notes, and snippets.

@Nyholm
Created April 17, 2016 19:13
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Nyholm/905be92b8578566da1618af05029562f to your computer and use it in GitHub Desktop.
Save Nyholm/905be92b8578566da1618af05029562f to your computer and use it in GitHub Desktop.
Example of logging plugin to Wordpress
add_action('aal_insert_log', 'storeActivityToFile');
function storeActivityToFile($args) {
// Example
$args = array(
'action' => 'activated',
'object_type' => 'Plugin',
'object_subtype' => '',
'object_name' => 'Activity Log',
'object_id' => 0,
'user_id' => 1,
'user_caps' => 'administrator',
'hist_ip' => '127.0.0.1',
'hist_time' => 1460476892,
);
addLogEntry('info', 'activity_log', $args);
}
<?php
/*
Plugin Name: Logging
Plugin URI: http://wordpress.org/tnyholm
Description: Logging stuff with Monolog
Author: Tobias Nyholm
Version: 0.1
Author URI: http://tnyholm.se
*/
use Monolog\Logger;
use Monolog\Handler\StreamHandler;
use Monolog\Handler\SlackHandler;
// make sure to load composer autoload
require_once __DIR__."/../../../vendor/autoload.php";
class MyLogger
{
/**
* @var Logger
*/
private $monolog;
public function __construct()
{
// Create the logger
$this->monolog = new Logger('my_logger');
// Now add some handlers
$this->monolog->pushHandler(new StreamHandler(__DIR__.'/my_app.log', Logger::DEBUG));
$this->monolog->pushHandler(new SlackHandler('t0ken', 'happyr'));
}
public function log($level, $message, array $context = [])
{
$this->monolog->log($level, $message, $context);
}
}
function addLogEntry($level, $message, array $context = [])
{
global $logger;
if (!$logger) {
$logger = new MyLogger();
}
$logger->log($level, $message, $context);
}
@marcustisater
Copy link

Tack Tobias,

Jag funderar på att kanske bygga vidare... Något som skulle vara till intresse för någon?

@pelmered
Copy link

Tack så mycket @Nyholm !

@marcustisater: Vi håller på att bygga om vårt logg-plugin( https://sv.wordpress.org/plugins/angry-creative-logger/ ) ifrån grunden. Vi kommer skala bort en del funktionalitet och göra den mer generell för användbar för fler use cases. Vi kommer nog använda den här koden i den nya versionen.

@marcustisater
Copy link

Sweet, då håller jag utkik där istället 😄

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment