diff --git a/CHANGELOG.md b/CHANGELOG.md
index 21e26b1fcc514d18bd3901e76f55008fe72c4157..c10236d2073ca8fa8ba06ca077f58d10e4730eb2 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,11 @@
+[1.2.0] - 2018-10-29
+## 
+### Changed 
+- getWPDeskFileName renamed to getFileName
+- isWPDeskLogWorking renamed to isLogWorking
+### Added
+- most methods have $name parameter for using specific logger
+
 ## [1.1.1] - 2018-10-29
 ### Fixed
 - should not capture all error - only log them
diff --git a/src/BasicLoggerFactory.php b/src/BasicLoggerFactory.php
index e9d1dd3ef2102cd36a8f69a6780ff6fc09dcac70..2f7ac82475d36d7a28a7b7c41c2f2141456282c9 100644
--- a/src/BasicLoggerFactory.php
+++ b/src/BasicLoggerFactory.php
@@ -19,19 +19,19 @@ class BasicLoggerFactory implements LoggerFactory
     /**
      * Creates logger for plugin
      *
-     * @param string $channel The logging channel
+     * @param string $name The logging channel/name of logger
      * @param HandlerInterface[] $handlers Optional stack of handlers, the first one in the array is called first, etc.
      * @param callable[] $processors Optional array of processors
      * @return Logger
      */
-    public function createLogger($channel, $handlers = array(), array $processors = array())
+    public function createLogger($name, $handlers = array(), array $processors = array())
     {
-        if (Registry::hasLogger($channel)) {
-            return Registry::getInstance($channel);
+        if (Registry::hasLogger($name)) {
+            return Registry::getInstance($name);
         }
-        self::$lastLoggerChannel = $channel;
+        self::$lastLoggerChannel = $name;
 
-        $logger = new Logger($channel, $handlers, $processors);
+        $logger = new Logger($name, $handlers, $processors);
 
         Registry::addLogger($logger);
 
@@ -39,12 +39,17 @@ class BasicLoggerFactory implements LoggerFactory
     }
 
     /**
-     * Returns created Logger
+     * Returns created Logger by name or last created logger
+     *
+     * @param string $name Name of the logger
      *
      * @return Logger
      */
-    public function getLogger()
+    public function getLogger($name = null)
     {
-        return Registry::getInstance(self::$lastLoggerChannel);
+        if ($name === null) {
+            $name = self::$lastLoggerChannel;
+        }
+        return Registry::getInstance($name);
     }
 }
diff --git a/src/LoggerFacade.php b/src/LoggerFacade.php
index 7b16e0f415d85aa8fdf17b32e6ec0d54857bfd2d..6cf9239883cd8ecb8f57db30f66c07059fae44cb 100644
--- a/src/LoggerFacade.php
+++ b/src/LoggerFacade.php
@@ -20,34 +20,40 @@ class LoggerFacade
     private static $factory;
 
     /**
+     * Get logger by name. If not exists create one.
+     *
+     * @param string $name Name of the logger
      * @return Logger
      */
-    public static function getLogger()
+    public static function getLogger($name = WPDeskLoggerFactory::DEFAULT_LOGGER_CHANNEL_NAME)
     {
         if (self::$factory === null) {
             self::$factory = new WPDeskLoggerFactory();
         }
-        return self::$factory->createWPDeskLogger();
+        return self::$factory->createWPDeskLogger($name);
     }
 
     /**
      * Snake case alias for getLogger
      *
+     * @param string $name
+     *
      * @return Logger
      */
-    public static function get_logger()
+    public static function get_logger($name = WPDeskLoggerFactory::DEFAULT_LOGGER_CHANNEL_NAME)
     {
-        return self::getLogger();
+        return self::getLogger($name);
     }
 
     /**
      * If set, logs are disabled
      *
      * @param bool $flag
-     *
+     * @param string $name Name of the logger
      */
-    public static function set_disable_log($flag) {
-        self::getLogger();
+    public static function set_disable_log($flag, $name = WPDeskLoggerFactory::DEFAULT_LOGGER_CHANNEL_NAME)
+    {
+        self::getLogger($name);
         self::$factory->setDisableLog($flag);
     }
 
@@ -62,8 +68,12 @@ class LoggerFacade
      *
      * @see http://php.net/manual/en/function.debug-backtrace.php
      */
-    public static function log_wp_error(WP_Error $e, array $backtrace, array $context = array(), $level = LogLevel::ERROR)
-    {
+    public static function log_wp_error(
+        WP_Error $e,
+        array $backtrace,
+        array $context = array(),
+        $level = LogLevel::ERROR
+    ) {
         $message = 'Error: ' . get_class($e) . ' Code: ' . $e->get_error_code() . ' Message: ' . $e->get_error_message();
 
         self::log_message_backtrace($message, $backtrace, $context, $level);
@@ -113,8 +123,12 @@ class LoggerFacade
      * @param array $context Context to log
      * @param string $level Level of error.
      */
-    public static function log_message_backtrace($message, array $backtrace, array $context = array(), $level = LogLevel::DEBUG)
-    {
+    public static function log_message_backtrace(
+        $message,
+        array $backtrace,
+        array $context = array(),
+        $level = LogLevel::DEBUG
+    ) {
         $message .= ' Backtrace: ' . json_encode($backtrace);
 
         $source = null;
diff --git a/src/LoggerFactory.php b/src/LoggerFactory.php
index 653099085080f98df6ac49fd424d39945442e5f9..0df8b9acb9dc29bd4c2982d38331c92aeb6aa744 100644
--- a/src/LoggerFactory.php
+++ b/src/LoggerFactory.php
@@ -12,7 +12,9 @@ interface LoggerFactory
     /**
      * Returns created Logger
      *
+     * @param string $name
+     *
      * @return Logger
      */
-    public function getLogger();
+    public function getLogger($name);
 }
diff --git a/src/WPDeskLoggerFactory.php b/src/WPDeskLoggerFactory.php
index 86588114d18bc4281d0c9303c26467600368a3be..0d4295e87f583dff4f213f5cc27389136a11be30 100644
--- a/src/WPDeskLoggerFactory.php
+++ b/src/WPDeskLoggerFactory.php
@@ -18,7 +18,7 @@ use WPDesk\Logger\WC\WooCommerceCapture;
  */
 class WPDeskLoggerFactory extends BasicLoggerFactory
 {
-    const WPDESK_LOGGER_CHANNEL_NAME = 'wpdesk';
+    const DEFAULT_LOGGER_CHANNEL_NAME = 'wpdesk';
 
     /** @var string Log to file when level is */
     const LEVEL_WPDESK_FILE = LogLevel::DEBUG;
@@ -31,13 +31,32 @@ class WPDeskLoggerFactory extends BasicLoggerFactory
      *
      * @param string $name Name of the logger
      */
-    public static function tearDown($name = self::WPDESK_LOGGER_CHANNEL_NAME)
+    public static function tearDown($name = self::DEFAULT_LOGGER_CHANNEL_NAME)
     {
         if (Registry::hasLogger($name)) {
             Registry::removeLogger($name);
         }
     }
 
+    /**
+     * If set, logs are disabled
+     *
+     * @param bool $flag should be disabled?
+     * @param string $name Name of the logger
+     */
+    public function setDisableLog($flag, $name = self::DEFAULT_LOGGER_CHANNEL_NAME)
+    {
+        if (!Registry::hasLogger($name)) {
+            $this->createWPDeskLogger($name);
+        }
+        /** @var Logger $logger */
+        $logger = Registry::getInstance($name);
+
+        /** @var BooleanFilter $filter */
+        $filter = $this->findHandlerByClass($logger, BooleanFilter::class);
+        $filter->setDisable($flag);
+    }
+
     /**
      * Creates default WPDesk logger.
      *
@@ -54,64 +73,26 @@ class WPDeskLoggerFactory extends BasicLoggerFactory
      * @param string $name Name of the logger
      * @return Logger
      */
-    public function createWPDeskLogger($name = self::WPDESK_LOGGER_CHANNEL_NAME)
+    public function createWPDeskLogger($name = self::DEFAULT_LOGGER_CHANNEL_NAME)
     {
         if (Registry::hasLogger($name)) {
             return Registry::getInstance($name);
         }
         $logger = $this->createLogger($name);
         $this->captureWooCommerce($logger);
-        $this->captureWordPressHandle($logger);
+        $this->captureErrorHandle($logger);
         try {
-            $this->appendWPDeskHandle($logger);
+            $this->pushFileHandle($name, $logger);
         } catch (\InvalidArgumentException $e) {
-            $logger->emergency('WPDesk log could not be created - invalid filename.');
+            $logger->emergency('File log could not be created - invalid filename.');
         } catch (\Exception $e) {
-            $logger->emergency('WPDesk log could not be written.');
+            $logger->emergency('File log could not be written.');
         }
         $logger->pushHandler(new BooleanFilter());
 
         return $logger;
     }
 
-    /**
-     * If set, logs are disabled
-     *
-     * @param bool $flag should be disabled?
-     * @param string $name Name of the logger
-     */
-    public function setDisableLog($flag, $name = self::WPDESK_LOGGER_CHANNEL_NAME)
-    {
-        if (!Registry::hasLogger($name)) {
-            $this->createWPDeskLogger($name);
-        }
-        /** @var Logger $logger */
-        $logger = Registry::getInstance($name);
-
-        /** @var BooleanFilter $filter */
-        $filter = $this->findHandlerByClass($logger, BooleanFilter::class);
-        $filter->setDisable($flag);
-    }
-
-    /**
-     * Find handler in logger
-     *
-     * @param Logger $logger
-     * @param string $class Class handle to find
-     *
-     * @return AbstractHandler If this is null then fatal failure is ok
-     */
-    private function findHandlerByClass(Logger $logger, $class)
-    {
-        foreach ($logger->getHandlers() as $handle) {
-            /** @var AbstractHandler $handle */
-            if (is_a($handle, $class)) {
-                return $handle;
-            }
-        }
-        return null;
-    }
-
     /**
      * Capture WooCommerce and add handle
      *
@@ -132,7 +113,7 @@ class WPDeskLoggerFactory extends BasicLoggerFactory
      *
      * @param Logger $logger
      */
-    private function captureWordPressHandle(Logger $logger)
+    private function captureErrorHandle(Logger $logger)
     {
         $errorHandler = new ErrorHandler($logger);
         $errorHandler->registerErrorHandler();
@@ -142,33 +123,65 @@ class WPDeskLoggerFactory extends BasicLoggerFactory
      * Add WPDesk log file handle
      *
      * @param Logger $logger
+     * @param string $name Name of the logger
      *
      * @throws \Exception                If a missing directory is not buildable
      * @throws \InvalidArgumentException If stream is not a resource or string
      */
-    private function appendWPDeskHandle(Logger $logger)
+    private function pushFileHandle($name, Logger $logger)
     {
-        $filename = $this->getWPDeskFileName();
+        $filename = $this->getFileName($name);
         $logger->pushHandler(new StreamHandler($filename, self::LEVEL_WPDESK_FILE));
     }
 
+    /**
+     * Get filename old way
+     *
+     * @deprecated
+     */
+    public function getWPDeskFileName() {
+        return $this->getFileName();
+    }
+
     /**
      * Returns WPDesk filename with path.
      *
+     * @param string $name Name of the logger
+     *
      * @return string
      */
-    public function getWPDeskFileName()
+    public function getFileName($name = self::DEFAULT_LOGGER_CHANNEL_NAME)
     {
-        return WP_CONTENT_DIR . '/uploads/wpdesk-logs/wpdesk_debug.log';
+        return WP_CONTENT_DIR . '/uploads/logs/' . $name . '_debug.log';
+    }
+
+    /**
+     * Find handler in logger
+     *
+     * @param Logger $logger
+     * @param string $class Class handle to find
+     *
+     * @return AbstractHandler If this is null then fatal failure is ok
+     */
+    private function findHandlerByClass(Logger $logger, $class)
+    {
+        foreach ($logger->getHandlers() as $handle) {
+            /** @var AbstractHandler $handle */
+            if (is_a($handle, $class)) {
+                return $handle;
+            }
+        }
+        return null;
     }
 
     /**
      * is WPDesk file log is working(writable, exists, connected).
+     * @param string $name Name of the logger
      *
      * @return bool
      */
-    public function isWPDeskLogWorking()
+    public function isLogWorking($name = self::DEFAULT_LOGGER_CHANNEL_NAME)
     {
-        return Registry::hasLogger(self::WPDESK_LOGGER_CHANNEL_NAME);
+        return Registry::hasLogger($name);
     }
 }
diff --git a/tests/integration/TestWPDeskLoggerFactory.php b/tests/integration/TestWPDeskLoggerFactory.php
index 1af86db9f7a2cd47c791d98101a0c64e67236776..0131d6bf93b250a1cb87245e66a041ebd101fc52 100644
--- a/tests/integration/TestWPDeskLoggerFactory.php
+++ b/tests/integration/TestWPDeskLoggerFactory.php
@@ -18,7 +18,7 @@ class TestWPDeskLoggerFactory extends WP_UnitTestCase
     {
         $factory = new WPDeskLoggerFactory();
         $this->assertInstanceOf(Logger::class, $factory->createWPDeskLogger(), "Logger should be created");
-        $this->assertTrue($factory->isWPDeskLogWorking());
+        $this->assertTrue($factory->isLogWorking());
     }
 
     public function testWCIsNotCorruptedByOtherTests()
@@ -94,7 +94,7 @@ class TestWPDeskLoggerFactory extends WP_UnitTestCase
         $someMessage = 'whatever';
 
         $factory = new WPDeskLoggerFactory();
-        $logFilename = $factory->getWPDeskFileName();
+        $logFilename = $factory->getFileName();
 
         unlink($logFilename);
         $this->assertFileNotExists($logFilename);