diff --git a/Deployment/WindowsPowerShell/Modules/CoreFunctions/include/Logger.ps1 b/Deployment/WindowsPowerShell/Modules/CoreFunctions/include/Logger.ps1
index e04db7b..9bcb6b7 100644
--- a/Deployment/WindowsPowerShell/Modules/CoreFunctions/include/Logger.ps1
+++ b/Deployment/WindowsPowerShell/Modules/CoreFunctions/include/Logger.ps1
@@ -24,115 +24,113 @@
 
     [log4net.Config.XmlConfigurator]::Configure($Log4NetConfig)
     
-    $__Logger.info("Logger initialized. Log file: '$LogPath'")
+    $__Logger.info("Logger initialized. Log file: '$LogPath'`n")
 }
 
 
-
-Function Write-LogInfo {
-	param (
-		[String[]] $Text
-	)
-    foreach ($Line in $Text) {
-        $__Logger.info($Line)
-    }
-}
-New-Alias -Name Write-Log -Value Write-LogInfo
-
-
-
 Function Out-LogInfo {
-	param (
-		[Parameter(ValueFromPipeline=$true)]
-		[String] $Text
-	)
-	$__Logger.info($Text)
-}
-New-Alias -Name Out-Log -Value Out-LogInfo
-
-
-
-Function Write-LogWarning {
-	param (
-		[String] $Text
-	)
-    foreach ($Line in $Text) {
-	    $__Logger.warn($Line)
+    param (
+        [Parameter(ValueFromPipeline=$true)]
+        $InputObject,
+        [Switch] $EntireObject
+    )
+    process {
+        if ($EntireObject) {
+            $__Logger.info("`n$(Out-String -InputObject $InputObject)")
+        }
+        else {
+            foreach ($Object in $InputObject) {
+                $__Logger.info((Out-String -InputObject $Object))
+            }
+        }
     }
 }
+New-Alias -Name Out-Log -Value Out-LogInfo
+New-Alias -Name Write-Log -Value Out-LogInfo
 
 
 
 Function Out-LogWarning {
-	param (
-		[Parameter(ValueFromPipeline=$true)]
-		[String] $Text
-	)
-	$__Logger__.warn($Text)
-}
-
-
-
-Function Write-LogError {
-	param (
-		[String] $Text
-	)
-    foreach ($Line in $Text) {
-	    $__Logger.error($Line)
+    param (
+        [Parameter(ValueFromPipeline=$true)]
+        $InputObject,
+        [Switch] $EntireObject
+    )
+    process {
+        if ($EntireObject) {
+            $__Logger.warn("`n$(Out-String -InputObject $InputObject)")
+        }
+        else {
+            foreach ($Object in $InputObject) {
+                $__Logger.warn((Out-String -InputObject $Object))
+            }
+        }
     }
 }
+New-Alias -Name Write-LogWarning -Value Out-LogWarning
 
 
 
 Function Out-LogError {
-	param (
-		[Parameter(ValueFromPipeline=$true)]
-		[String] $Text
-	)
-	$__Logger.error($Text)
-}
-
-
-
-Function Write-LogFatal {
-	param (
-		[String] $Text
-	)
-    foreach ($Line in $Text) {
-	    $__Logger.fatal($Line)
+    param (
+        [Parameter(ValueFromPipeline=$true)]
+        $InputObject,
+        [Switch] $EntireObject
+    )
+    process {
+        if ($EntireObject) {
+            $__Logger.error("`n$(Out-String -InputObject $InputObject)")
+        }
+        else {
+            foreach ($Object in $InputObject) {
+                $__Logger.error((Out-String -InputObject $Object))
+            }
+        }
     }
 }
+New-Alias -Name Write-LogError -Value Out-LogError
 
 
 
 Function Out-LogFatal {
-	param (
-		[Parameter(ValueFromPipeline=$true)]
-		[String] $Text
-	)
-	$__Logger.fatal($Text)
-}
-
-
-
-Function Write-LogDebug {
-	param (
-		[String] $Text
-	)
-    foreach ($Line in $Text) {
-	    $__Logger.debug($Line)
+    param (
+        [Parameter(ValueFromPipeline=$true)]
+        $InputObject,
+        [Switch] $EntireObject
+    )
+    process {
+        if ($EntireObject) {
+            $__Logger.fatal("`n$(Out-String -InputObject $InputObject)")
+        }
+        else {
+            foreach ($Object in $InputObject) {
+                $__Logger.fatal((Out-String -InputObject $Object))
+            }
+        }
     }
 }
+New-Alias -Name Write-LogFatal -Value Out-LogFatal
 
 
 
 Function Out-LogDebug {
-	param (
-		[Parameter(ValueFromPipeline=$true)]
-		[String] $Text
-	)
-	$__Logger.debug($Text)
+    param (
+        [Parameter(ValueFromPipeline=$true)]
+        $InputObject,
+        [Switch] $EntireObject
+    )
+    process {
+        if ($EntireObject) {
+            $__Logger.debug("`n$(Out-String -InputObject $InputObject)")
+        }
+        else {
+            foreach ($Object in $InputObject) {
+                $__Logger.debug((Out-String -InputObject $Object))
+            }
+        }
+    }
 }
+New-Alias -Name Write-LogDebug -Value Out-LogDebug
 
 
 
diff --git a/Deployment/WindowsPowerShell/Modules/CoreFunctions/log4net.config b/Deployment/WindowsPowerShell/Modules/CoreFunctions/log4net.config
index ea7aa0e..1b0b20b 100644
--- a/Deployment/WindowsPowerShell/Modules/CoreFunctions/log4net.config
+++ b/Deployment/WindowsPowerShell/Modules/CoreFunctions/log4net.config
@@ -1,42 +1,42 @@
 <log4net>
-        <appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender" >
-            <param name="File" type="log4net.Util.PatternString" value="%property{LogPath}" />
-            <param name="AppendToFile" value="true" />
-            <param name="RollingStyle" value="Size" />
-            <param name="MaxSizeRollBackups" value="100" />
-            <param name="MaximumFileSize" value="1024KB" />
-            <param name="StaticLogFileName" value="true" />
-            <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
-            <layout type="log4net.Layout.PatternLayout">               
-                <param name="ConversionPattern" value="%date [%-5level] [%property{ModuleName}] %message%newline" />
-            </layout>
-        </appender>
+	<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender" >
+		<param name="File" type="log4net.Util.PatternString" value="%property{LogPath}" />
+		<param name="AppendToFile" value="true" />
+		<param name="RollingStyle" value="Size" />
+		<param name="MaxSizeRollBackups" value="100" />
+		<param name="MaximumFileSize" value="1024KB" />
+		<param name="StaticLogFileName" value="true" />
+		<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
+		<layout type="log4net.Layout.PatternLayout">               
+			<param name="ConversionPattern" value="%date [%-5level] [%property{ModuleName}] %message" />
+		</layout>
+	</appender>
 		
-		<appender name="ColoredConsoleAppender" type="log4net.Appender.ColoredConsoleAppender">
-			<mapping>
-				<level value="error" />
-				<foreColor value="Red, HighIntensity" />
-			</mapping>
-			<mapping>
-				<level value="warn" />
-				<foreColor value="Yellow, HighIntensity" />
-			</mapping>
-			<mapping>
-				<level value="info" />
-				<foreColor value="Green, HighIntensity" />
-			</mapping>
-			<layout type="log4net.Layout.PatternLayout">
-				<conversionPattern value="%date [%-5level] [%property{ModuleName}] %message%newline" />
-			</layout>
-		</appender>
+	<appender name="ColoredConsoleAppender" type="log4net.Appender.ColoredConsoleAppender">
+		<mapping>
+			<level value="error" />
+			<foreColor value="Red, HighIntensity" />
+		</mapping>
+		<mapping>
+			<level value="warn" />
+			<foreColor value="Yellow, HighIntensity" />
+		</mapping>
+		<mapping>
+			<level value="info" />
+			<foreColor value="Green, HighIntensity" />
+		</mapping>
+		<layout type="log4net.Layout.PatternLayout">
+			<conversionPattern value="%date [%-5level] [%property{ModuleName}] %message" />
+		</layout>
+	</appender>
 
-        <!--root>
-            <level value="info" />            
-        </root-->
+ 	<!--root>
+		<level value="info" />            
+	</root-->
 
-     <logger name="PowerShell" additivity="false">
-        <!--level value="info" /-->
-        <appender-ref ref="ColoredConsoleAppender" />
+	<logger name="PowerShell" additivity="false">
+		<!--level value="info" /-->
+		<appender-ref ref="ColoredConsoleAppender" />
 		<appender-ref ref="RollingFileAppender" />
-     </logger>
+	</logger>
 </log4net>
\ No newline at end of file