Replace admin header logo with an image

I think the path to the image is wrong, use get_stylesheet_directory_uri() to retrieve the style.css path. If this isn’t it let me know and I will take a closer look.

I just dug out an example which worked for me in the past:

function my_login_logo() { ?>
 <style type="text/css">
    body.login div#login h1 a {
        background-image: url(PATH_TO_FILE);
    }
</style>
<?php }

Update: I really should read more carefully before replying! Ok how about this ->

function custom_logo_admin_header() { ?>
    <style type="text/css">
      #wp-admin-bar-wp-logo > .ab-item .ab-icon { 
          background-image: url(<?php echo get_stylesheet_directory_uri(); ?>/images/wp-logo.png)   !important; 
          background-position: 0 0;
      }
      #wpadminbar #wp-admin-bar-wp-logo.hover > .ab-item .ab-icon {
        background-position: 0 0;
      }   
    </style>
<?php
}

New Update: This one is as well locally tested!

All above are off track and this will lead to the best result.

function no_wp_logo_admin_bar_remove() {        
    ?>
        <style type="text/css">
            #wpadminbar #wp-admin-bar-wp-logo > .ab-item .ab-icon:before {
                content: url(<?php echo get_stylesheet_directory_uri(); ?>/images/wp-logo.png)   !important;
                top: 2px;
            }

            #wpadminbar #wp-admin-bar-wp-logo > a.ab-item {
                pointer-events: none;
                cursor: default;
            }   
        </style>
    <?php
}
add_action('wp_before_admin_bar_render', 'no_wp_logo_admin_bar_remove', 0);

Now about there where to put this, you can add it in the functions.php and you can put it in the plugins main .php file, which as well will do the trick. Let me know if this worked.