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
Return
WC_Logger_Interface
.
Usage
wc_get_logger();
wc_get_logger() wc get logger code WC 9.6.1
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; }