wc_get_logger()
Get a shared logger instance.
Use the woocommerce_logging_class filter to change the logging class. You may provide one of the following:
- a class name which will be instantiated as `new $class` with no arguments - an instance which will be used directly as the logger
In either case, the class or instance must implement WC_Logger_Interface.
Hooks from the function
Returns
WC_Logger_Interface.
Usage
wc_get_logger();
wc_get_logger() wc get logger code WC 10.6.2
function wc_get_logger() {
static $logger = null;
$class = apply_filters( 'woocommerce_logging_class', 'WC_Logger' );
if ( null !== $logger && is_string( $class ) && is_a( $logger, $class ) ) {
return $logger;
}
$implements = class_implements( $class );
if ( is_array( $implements ) && in_array( 'WC_Logger_Interface', $implements, true ) ) {
$logger = is_object( $class ) ? $class : new $class();
} else {
wc_doing_it_wrong(
__FUNCTION__,
sprintf(
/* translators: 1: class name 2: woocommerce_logging_class 3: WC_Logger_Interface */
__( 'The class %1$s provided by %2$s filter must implement %3$s.', 'woocommerce' ),
'<code>' . esc_html( is_object( $class ) ? get_class( $class ) : $class ) . '</code>',
'<code>woocommerce_logging_class</code>',
'<code>WC_Logger_Interface</code>'
),
'3.0'
);
$logger = is_a( $logger, 'WC_Logger' ) ? $logger : new WC_Logger();
}
return $logger;
}