You are just doing it wrong. The problem starts with using a singleton, just never do it.
You have a class of loggers which logs into some internal buffer. All loggers log into the same buffer, therefor the buffer (trace
in your case) a static array in the class.
No more get_intance
, just instantiate a new logger and log. This gives you the added flexibility of having several classes of loggers that “output” to the same buffer.
We are left with a question of how to inspect the log, and this you do with a static method.
I am sure this scheme can be improved by people that are more hard core OOP than me, using singleton is equivalent to using a namespace
and code written under a namespace is easier to read and use than the singleton, just call a function directly with no need to handle the complications of getting an object first, it is easier to use a function in a hook, etc.
Related Posts:
- When can you get current page ID and initialize hooks right after?
- Customizing subject in comment notification e-mails
- How to save the values of checkbox to the register setting?
- Edit plugin without hooks in functions.php
- Using the ‘draft_to_publish’ hook (post status transition)
- Enqueue style inside shortcode but its loaded at the bottom of page (before footer scripts)
- Good tools for locating hooks in a wordpress page/admin interface/blog post?
- Pass A Value From Outside To A Plugin Variable
- Built in admin ajax hooks?
- Failed to invoke other hook from the init hook
- How can I add a custom meta value on file upload?
- Adding dynamic section to WordPress
- How can I filter blog name?
- Fatal error: Class not found in
- Is it possible to add an action to the currently running action?
- Showing Notifications While Activating Plugin
- OOP: Display warning and deactivate the plugin if PHP version is less than 5.4
- Determine plugin name from within plugin_action_links filter
- How to prevent action in ajax request, when in admin side?
- merging an array to an existing array using add_filter
- template_redirect not being called when using ajax
- Placement of Code in Plugin for hooking `save_post`
- publish_post plugin hook doesn’t always pass $post->post_content
- What are the benefit in adding hook in the init() hook?
- add_action in functions.php, do_action in plugin?
- How to correctly detect accessing wp-content/uploads?
- add action for displaying posts using a shortcode
- ‘wp_login’ action hook not working with wp-login.php file
- Remove rewrite rules generated by plugin during deactivation
- How to pull code snippet from functionality plugin?
- Where (or when) should I register a new taxonomy?
- Any hook for pre-plugin-update -either bulk or single plugin update
- How to get all of the activate_plugin action parameters?
- How to stop activating a plugin and show admin notice when dependent plugins minimum version is not met
- Using a post-signup hook to get user details
- Get Time Taken By Each Action Hook in WordPress
- Are functions in main plugin file called before function bound to register_activation_hook runs?
- do_action() hook into load-(page)
- Howto check version of another plugin and then add a submenu page to it
- Hook for page Request?
- How do I add $_SESSION[”] to my wordpress page?
- Save user total active time after login in wordpress [closed]
- is it possible to hook every page style?
- Quick press publish post hook
- using wp_footer hook in a plugin
- How to deactivate my plugin upon deactivation of NextGen
- How to automatically activate users after registration without activation email?
- Creating a plugin that will display text on every page
- Activation flow of a plugin in a multisite environment
- Add hook after content without formatting
- admin_post hook not firing function inside class
- The function called on the wp head hook becomes null
- When/where would want to attach other classes to the base class in a WordPress plugin?
- Passing function into add_action always returns the first argument
- Hook to display element as product on category page
- WordPress Boilerplate Plugin doesn’t see callback functions for add_settings_field and add_settings_section
- plugin not hooking to my custom hook
- Plugin hook breaks new WP 4.0 media library grid view?
- Plugin Hook: Get posts
- Display_rows() and column_cb() strange behaviour
- How to create and use Custom hooks
- Checking url from plugin [duplicate]
- How wordpress plugin hooks works? [duplicate]
- Post curl function save twice using plugin hook function wordpress
- WordPress Hooks : Where to place callbacks that repetitively yield the same effect?
- Suitable hook when creating, updating and deleting posts programmatically
- Why is my activator class adding the files/running the actions I add?
- is_user_logged_in() undefined at shutdown in plugin context
- Why do I get this “plugin does not have a valid header” error?
- WordPress Capabilities: edit_user vs edit_users
- Seeking clarification on page request life-cycle
- Plugin not saving values when placed in a folder within /wp-content/plugins
- How to integrate plugin in WordPress theme
- Getting a List of Categories for Use in a Plugin?
- Display update notification messages like ‘What’s New’
- How can I make 2 plugins that include different versions of a framework to both use the latest version?
- Add Plugin options as subpage to Theme options page
- WP_Terms_List_Table Quick Edit not working
- Git Hosting for WordPress SVN Plugin Repository [closed]
- Is there a directory my plugin can write files to that cannot be viewed via the browser/url?
- How to exclude certain files from the plugin editor?
- Stop Plugin from Getting Styles from Other Plugin
- WordPress gtag.js with User ID tracking
- How to add img into a plugin?
- How to log custom plugin error to debug.log file
- How to create admin setting for this small plugin
- Unpublished Pages Failing To Appear On Custom Path
- How to fix caching issue in PHP data from database
- SASS not showing in customized preloader plugin
- How to securely controlling data without keeping it in postmeta?
- Identify if the_post hook is being called from the admin post list
- wordpress ajax pagination object value does not change
- Why can’t I shove an instance of a class into a variable from a do_action hook?
- Passing a parameter to filter and action functions
- Custom pages with plugin
- How to insert category name above post title in a featured pages plugin?
- How to add submenu to WordPress plugin in the same Directory of main Plugin?
- How to set-up multiple cron task with wp_schedule_event so that they do not overlap?
- Plugin version number after code rewrite [closed]
- How to provide page_template path in custom plugin using WordPress