         }
 
         if showFunctionName {
-            extendedDetails += "\(logDetails.functionName) "
-        }
-
-        output(logDetails, text: "\(extendedDetails)> \(logDetails.logMessage)")
+            extendedDetails.appendContentsOf(logDetails.functionName + " ")
+        }
+
+        extendedDetails.appendContentsOf("> " + logDetails.logMessage)
+
+        output(logDetails, text: extendedDetails)
     }
 
     public func processInternalLogDetails(logDetails: XCGLogDetails) {

        var buildString = ""
        if let infoDictionary = NSBundle.mainBundle().infoDictionary {
            if let CFBundleShortVersionString = infoDictionary["CFBundleShortVersionString"] as? String {
                buildString = "Version: \(CFBundleShortVersionString) "
            }
            if let CFBundleVersion = infoDictionary["CFBundleVersion"] as? String {
                buildString += "Build: \(CFBundleVersion) "
            }
        }

        let processInfo: NSProcessInfo = NSProcessInfo.processInfo()
        let XCGLoggerVersionNumber = XCGLogger.Constants.versionString

        let logDetails: Array<XCGLogDetails> = [XCGLogDetails(logLevel: .Info, date: date, logMessage: "\(processInfo.processName) \(buildString)PID: \(processInfo.processIdentifier)", functionName: "", fileName: "", lineNumber: 0),
            XCGLogDetails(logLevel: .Info, date: date, logMessage: "XCGLogger Version: \(XCGLoggerVersionNumber) - LogLevel: \(outputLogLevel)", functionName: "", fileName: "", lineNumber: 0)]

        for logDestination in (selectedLogDestination != nil ? [selectedLogDestination!] : logDestinations) {
            for logDetail in logDetails {

            extendedDetails += "[\(owner.identifier)] "
        }

        extendedDetails.appendContentsOf("> " + logDetails.logMessage)

        output(logDetails, text: extendedDetails)
    }

    // MARK: - Misc methods
