diff --git a/src/Asset/AssetDumper.php b/src/Asset/AssetDumper.php
index 888bcc9dcd560ece57a10dcf53978dfb7d80a9af..9cda4d52753c31f83f01a03d18d9a0ccd7637138 100644
--- a/src/Asset/AssetDumper.php
+++ b/src/Asset/AssetDumper.php
@@ -4,6 +4,7 @@ namespace Drupal\flysystem\Asset;
 
 use Drupal\Component\Utility\Crypt;
 use Drupal\Core\Asset\AssetDumper as DrupalAssetDumper;
+use Drupal\Core\Config\ConfigFactoryInterface;
 use Drupal\Core\File\FileSystemInterface;
 use Drupal\Core\File\FileExists;
 
@@ -16,6 +17,24 @@ class AssetDumper extends DrupalAssetDumper {
 
   use SchemeExtensionTrait;
 
+  /**
+   * Drupal Config factory service.
+   *
+   * @var \Drupal\Core\Config\ConfigFactoryInterface
+   */
+  protected $configFactory;
+  /**
+   * AssetDumper constructor.
+   *
+   * @param \Drupal\Core\File\FileSystemInterface $file_system
+   *   The file handler.
+   * @param \Drupal\Core\Config\ConfigFactoryInterface $config_factory
+   *   Drupal Config factory service.
+   */
+  public function __construct(FileSystemInterface $file_system, ConfigFactoryInterface $config_factory) {
+    $this->fileSystem = $file_system;
+    $this->configFactory = $config_factory;
+  }
   /**
    * {@inheritdoc}
    */
@@ -39,7 +58,7 @@ class AssetDumper extends DrupalAssetDumper {
     // file) in generating the file anyway. Sites on servers where rewrite rules
     // aren't working can set css.gzip to FALSE in order to skip
     // generating a file that won't be used.
-    if (extension_loaded('zlib') && \Drupal::config('system.performance')->get($file_extension . '.gzip')) {
+    if (extension_loaded('zlib') && $this->configFactory->get('system.performance')->get($file_extension . '.gzip')) {
       if (!file_exists($uri . '.gz') && !$this->fileSystem->saveData(gzencode($data, 9, FORCE_GZIP), $uri . '.gz', FileExists::Replace)) {
         return FALSE;
       }
diff --git a/src/Asset/CssCollectionOptimizer.php b/src/Asset/CssCollectionOptimizer.php
index 4ab167933a9a79550de6ac3772660c14a048650e..9fee802a8f4c62fecdbd4d62048a0854bb9d6720 100644
--- a/src/Asset/CssCollectionOptimizer.php
+++ b/src/Asset/CssCollectionOptimizer.php
@@ -7,6 +7,8 @@ use Drupal\Core\Logger\LoggerChannelTrait;
 
 /**
  * Optimizes CSS assets.
+ * 
+ * @phpstan-ignore class.extendsDeprecatedClass
  */
 class CssCollectionOptimizer extends DrupalCssCollectionOptimizer {
 
@@ -22,12 +24,15 @@ class CssCollectionOptimizer extends DrupalCssCollectionOptimizer {
     $file_system = $this->fileSystem;
     $delete_stale = static function ($uri) use ($file_system) {
       // Default stale file threshold is 30 days (2592000 seconds).
+      // @phpstan-ignore-next-line
       $stale_file_threshold = \Drupal::config('system.performance')->get('stale_file_threshold') ?? 2592000;
+      // @phpstan-ignore-next-line
       if (\Drupal::time()->getRequestTime() - filemtime($uri) > $stale_file_threshold) {
         try {
           $file_system->delete($uri);
         }
         catch (\Exception $e) {
+          // @phpstan-ignore-next-line
           \Drupal::service('logger.factory')->get('flysystem')->error($e->getMessage());
         }
       }
diff --git a/src/Asset/CssCollectionOptimizerLazy.php b/src/Asset/CssCollectionOptimizerLazy.php
index 2e1bfffcb465f29911e91f34e0d5e19032beb597..58643000a154d185d321f5fb1e1e03e9949c62d1 100644
--- a/src/Asset/CssCollectionOptimizerLazy.php
+++ b/src/Asset/CssCollectionOptimizerLazy.php
@@ -4,6 +4,8 @@ namespace Drupal\flysystem\Asset;
 
 use Drupal\Core\Asset\CssCollectionOptimizerLazy as DrupalCssCollectionOptimizerLazy;
 use Drupal\Core\File\Exception\FileException;
+use Drupal\Core\Logger\LoggerChannelFactoryInterface;
+
 
 /**
  * Optimizes CSS assets.
@@ -12,6 +14,44 @@ class CssCollectionOptimizerLazy extends DrupalCssCollectionOptimizerLazy {
 
   use SchemeExtensionTrait;
 
+    /**
+   * Constructs a CssCollectionOptimizerLazy.
+   *
+   * @param \Drupal\Core\Asset\AssetCollectionGrouperInterface $grouper
+   *   The grouper for CSS assets.
+   * @param \Drupal\Core\Asset\AssetOptimizerInterface $optimizer
+   *   The asset optimizer.
+   * @param \Drupal\Core\Theme\ThemeManagerInterface $themeManager
+   *   The theme manager.
+   * @param \Drupal\Core\Asset\LibraryDependencyResolverInterface $dependencyResolver
+   *   The library dependency resolver.
+   * @param \Symfony\Component\HttpFoundation\RequestStack $requestStack
+   *   The request stack.
+   * @param \Drupal\Core\File\FileSystemInterface $fileSystem
+   *   The file system service.
+   * @param \Drupal\Core\Config\ConfigFactoryInterface $configFactory
+   *   The config factory.
+   * @param \Drupal\Core\File\FileUrlGeneratorInterface $fileUrlGenerator
+   *   The file URL generator.
+   * @param \Drupal\Component\Datetime\TimeInterface $time
+   *   The time service.
+   * @param \Drupal\Core\Language\LanguageManagerInterface $languageManager
+   *   The language manager.
+   */
+  public function __construct(
+    protected readonly AssetCollectionGrouperInterface $grouper,
+    protected readonly AssetOptimizerInterface $optimizer,
+    protected readonly ThemeManagerInterface $themeManager,
+    protected readonly LibraryDependencyResolverInterface $dependencyResolver,
+    protected readonly RequestStack $requestStack,
+    protected readonly FileSystemInterface $fileSystem,
+    protected readonly ConfigFactoryInterface $configFactory,
+    protected readonly FileUrlGeneratorInterface $fileUrlGenerator,
+    protected readonly TimeInterface $time,
+    protected readonly LanguageManagerInterface $languageManager,
+    protected readonly LoggerChannelFactoryInterface $loggerFactory,
+  ) {}
+
   /**
    * {@inheritdoc}
    */
@@ -20,7 +60,7 @@ class CssCollectionOptimizerLazy extends DrupalCssCollectionOptimizerLazy {
       $this->fileSystem->deleteRecursive($this->getSchemeForExtension('css') . '://css');
     }
     catch (FileException $fileException) {
-      \Drupal::logger('flysystem')->error($fileException->getMessage());
+      $this->loggerFactory->get('flysystem')->error($fileException->getMessage());
     }
   }
 
diff --git a/src/Asset/JsCollectionOptimizer.php b/src/Asset/JsCollectionOptimizer.php
index ca612541c0ee4a936477506a36032904862b5ddf..82d94b9f84a8b277ca5c165981968dc787cc713c 100644
--- a/src/Asset/JsCollectionOptimizer.php
+++ b/src/Asset/JsCollectionOptimizer.php
@@ -7,6 +7,8 @@ use Drupal\Core\Logger\LoggerChannelTrait;
 
 /**
  * Optimizes JavaScript assets.
+ *
+ * @phpstan-ignore class.extendsDeprecatedClass
  */
 class JsCollectionOptimizer extends DrupalJsCollectionOptimizer {
 
@@ -22,12 +24,18 @@ class JsCollectionOptimizer extends DrupalJsCollectionOptimizer {
     $file_system = $this->fileSystem;
     $delete_stale = static function ($uri) use ($file_system) {
       // Default stale file threshold is 30 days (2592000 seconds).
+      // @phpstan-ignore-next-line
       $stale_file_threshold = \Drupal::config('system.performance')->get('stale_file_threshold') ?? 2592000;
+      // @phpstan-ignore-next-line
       if (\Drupal::time()->getRequestTime() - filemtime($uri) > $stale_file_threshold) {
         try {
           $file_system->delete($uri);
         }
+        catch (\Exception $fileException) {
+          $this->loggerFactory->get('flysystem')->error($fileException->getMessage());
+        }
         catch (\Exception $e) {
+          // @phpstan-ignore-next-line
           \Drupal::service('logger.factory')->get('flysystem')->error($e->getMessage());
         }
       }
diff --git a/src/Asset/JsCollectionOptimizerLazy.php b/src/Asset/JsCollectionOptimizerLazy.php
index 385e6269f51dd586683ce27fc3663e9364dfe7ef..b53dd8174c77f46288bd161b0f85d28cadbc88b1 100644
--- a/src/Asset/JsCollectionOptimizerLazy.php
+++ b/src/Asset/JsCollectionOptimizerLazy.php
@@ -4,6 +4,7 @@ namespace Drupal\flysystem\Asset;
 
 use Drupal\Core\Asset\JsCollectionOptimizerLazy as DrupalJsCollectionOptimizerLazy;
 use Drupal\Core\File\Exception\FileException;
+use Drupal\Core\Logger\LoggerChannelFactoryInterface;
 
 /**
  * Optimizes JavaScript assets.
@@ -12,6 +13,44 @@ class JsCollectionOptimizerLazy extends DrupalJsCollectionOptimizerLazy {
 
   use SchemeExtensionTrait;
 
+   /**
+   * Constructs a JsCollectionOptimizerLazy.
+   *
+   * @param \Drupal\Core\Asset\AssetCollectionGrouperInterface $grouper
+   *   The grouper for JS assets.
+   * @param \Drupal\Core\Asset\AssetOptimizerInterface $optimizer
+   *   The asset optimizer.
+   * @param \Drupal\Core\Theme\ThemeManagerInterface $themeManager
+   *   The theme manager.
+   * @param \Drupal\Core\Asset\LibraryDependencyResolverInterface $dependencyResolver
+   *   The library dependency resolver.
+   * @param \Symfony\Component\HttpFoundation\RequestStack $requestStack
+   *   The request stack.
+   * @param \Drupal\Core\File\FileSystemInterface $fileSystem
+   *   The file system service.
+   * @param \Drupal\Core\Config\ConfigFactoryInterface $configFactory
+   *   The config factory.
+   * @param \Drupal\Core\File\FileUrlGeneratorInterface $fileUrlGenerator
+   *   The file URL generator.
+   * @param \Drupal\Component\Datetime\TimeInterface $time
+   *   The time service.
+   * @param \Drupal\Core\Language\LanguageManagerInterface $languageManager
+   *   The language manager.
+   */
+  public function __construct(
+    protected readonly AssetCollectionGrouperInterface $grouper,
+    protected readonly AssetOptimizerInterface $optimizer,
+    protected readonly ThemeManagerInterface $themeManager,
+    protected readonly LibraryDependencyResolverInterface $dependencyResolver,
+    protected readonly RequestStack $requestStack,
+    protected readonly FileSystemInterface $fileSystem,
+    protected readonly ConfigFactoryInterface $configFactory,
+    protected readonly FileUrlGeneratorInterface $fileUrlGenerator,
+    protected readonly TimeInterface $time,
+    protected readonly LanguageManagerInterface $languageManager,
+    protected readonly LoggerChannelFactoryInterface $loggerFactory,
+  ) {}
+
   /**
    * {@inheritdoc}
    */
@@ -20,7 +59,7 @@ class JsCollectionOptimizerLazy extends DrupalJsCollectionOptimizerLazy {
       $this->fileSystem->deleteRecursive($this->getSchemeForExtension('js') . '://js');
     }
     catch (FileException $fileException) {
-      \Drupal::logger('flysystem')->error($fileException->getMessage());
+      $this->loggerFactory->get('flysystem')->error($fileException->getMessage());
     }
   }
 
diff --git a/tests/src/Unit/FlysystemServiceProviderTest.php b/tests/src/Unit/FlysystemServiceProviderTest.php
index 02a16a00618493dcab1a1252161450305a631ded..8772044c2907c0cdb39d8f01c8b98fc57055b9c2 100644
--- a/tests/src/Unit/FlysystemServiceProviderTest.php
+++ b/tests/src/Unit/FlysystemServiceProviderTest.php
@@ -97,9 +97,11 @@ class FlysystemServiceProviderTest extends UnitTestCase {
     (new FlysystemServiceProvider())->register($this->container);
     $this->assertSame(AssetDumper::class, $this->container->getDefinition('asset.js.dumper')->getClass());
 
+    // @phpstan-ignore classConstant.deprecatedClass
     $this->container->register('asset.js.collection_optimizer', JsCollectionOptimizer::class);
     (new FlysystemServiceProvider())->register($this->container);
     $this->assertSame(AssetDumper::class, $this->container->getDefinition('asset.js.dumper')->getClass());
+    // @phpstan-ignore classConstant.deprecatedClass
     $this->assertSame(JsCollectionOptimizer::class, $this->container->getDefinition('asset.js.collection_optimizer')->getClass());
 
     // A successful swap.
@@ -122,6 +124,7 @@ class FlysystemServiceProviderTest extends UnitTestCase {
   public function testSwappingCssServices() {
     // Test swapping the asset dumper.
     $this->container->register('asset.css.dumper', AssetDumper::class);
+    // @phpstan-ignore classConstant.deprecatedClass
     $this->container->register('asset.css.collection_optimizer', CssCollectionOptimizer::class);
     $this->container->register('asset.css.optimizer', CssOptimizer::class);