aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Software/Android_Studio/Tango.DAL/build.gradle4
-rw-r--r--Software/Android_Studio/Tango.DAL/src/main/res/raw/tangodbbin274432 -> 430080 bytes
-rw-r--r--Software/Android_Studio/Tango.Logging/build.gradle7
-rw-r--r--Software/Android_Studio/Tango.Logging/src/main/java/com/twine/tango/logging/ExceptionLogItem.java41
-rw-r--r--Software/Android_Studio/Tango.Logging/src/main/java/com/twine/tango/logging/FileLogger.java99
-rw-r--r--Software/Android_Studio/Tango.Logging/src/main/java/com/twine/tango/logging/ILogger.java9
-rw-r--r--Software/Android_Studio/Tango.Logging/src/main/java/com/twine/tango/logging/LogCatLogger.java58
-rw-r--r--Software/Android_Studio/Tango.Logging/src/main/java/com/twine/tango/logging/LogCategory.java5
-rw-r--r--Software/Android_Studio/Tango.Logging/src/main/java/com/twine/tango/logging/LogItem.java64
-rw-r--r--Software/Android_Studio/Tango.Logging/src/main/java/com/twine/tango/logging/LogManager.java206
-rw-r--r--Software/Android_Studio/Tango.Logging/src/main/java/com/twine/tango/logging/MessageLogItem.java24
-rw-r--r--Software/Android_Studio/Tango.PMR/build.gradle14
-rw-r--r--Software/Android_Studio/Tango.UnitTesting/build.gradle1
-rw-r--r--Software/Android_Studio/Tango.UnitTesting/src/androidTest/java/com/twine/tango/unittesting/Logging_TST.java39
-rw-r--r--Software/Android_Studio/settings.gradle2
-rw-r--r--Software/DB/Tango.dbbin274432 -> 430080 bytes
-rw-r--r--Software/DB/Tango.mdfbin75497472 -> 75497472 bytes
-rw-r--r--Software/DB/Tango_log.ldfbin1048576 -> 1048576 bytes
-rw-r--r--Software/Visual_Studio/Tango.Logging/FileLogger.cs2
19 files changed, 563 insertions, 12 deletions
diff --git a/Software/Android_Studio/Tango.DAL/build.gradle b/Software/Android_Studio/Tango.DAL/build.gradle
index 86c71c619..abaccdd33 100644
--- a/Software/Android_Studio/Tango.DAL/build.gradle
+++ b/Software/Android_Studio/Tango.DAL/build.gradle
@@ -71,6 +71,6 @@ task generateEntities(type: Exec, description: 'Generate DAL Entities') {
}
}
-preBuild.dependsOn(copyFiles)
+//preBuild.dependsOn(copyFiles)
-preBuild.dependsOn(generateEntities) \ No newline at end of file
+//preBuild.dependsOn(generateEntities) \ No newline at end of file
diff --git a/Software/Android_Studio/Tango.DAL/src/main/res/raw/tangodb b/Software/Android_Studio/Tango.DAL/src/main/res/raw/tangodb
index 82b936014..336f96dcf 100644
--- a/Software/Android_Studio/Tango.DAL/src/main/res/raw/tangodb
+++ b/Software/Android_Studio/Tango.DAL/src/main/res/raw/tangodb
Binary files differ
diff --git a/Software/Android_Studio/Tango.Logging/build.gradle b/Software/Android_Studio/Tango.Logging/build.gradle
index 36a8dfafb..724faea79 100644
--- a/Software/Android_Studio/Tango.Logging/build.gradle
+++ b/Software/Android_Studio/Tango.Logging/build.gradle
@@ -20,6 +20,11 @@ android {
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
+
+ compileOptions {
+ sourceCompatibility JavaVersion.VERSION_1_8
+ targetCompatibility JavaVersion.VERSION_1_8
+ }
}
dependencies {
@@ -29,4 +34,6 @@ dependencies {
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.1'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
+
+ compile globalDependencies.joda
}
diff --git a/Software/Android_Studio/Tango.Logging/src/main/java/com/twine/tango/logging/ExceptionLogItem.java b/Software/Android_Studio/Tango.Logging/src/main/java/com/twine/tango/logging/ExceptionLogItem.java
index 86166ff95..49aa1b687 100644
--- a/Software/Android_Studio/Tango.Logging/src/main/java/com/twine/tango/logging/ExceptionLogItem.java
+++ b/Software/Android_Studio/Tango.Logging/src/main/java/com/twine/tango/logging/ExceptionLogItem.java
@@ -6,4 +6,45 @@ package com.twine.tango.logging;
public class ExceptionLogItem extends LogItem
{
+ private Exception exception;
+ private String description;
+
+ public Exception getException()
+ {
+ return exception;
+ }
+
+ public void setException(Exception exception)
+ {
+ this.exception = exception;
+ }
+
+ public String getDescription()
+ {
+ return description;
+ }
+
+ public void setDescription(String description)
+ {
+ this.description = description;
+ }
+
+ @Override
+ public String getMessage()
+ {
+ return exception.getMessage();
+ }
+
+ @Override
+ public String toString()
+ {
+ return String.format("[%s] [%s] [%s] [%s] [Line %s]: %s\n%s",
+ getTimeStamp().toString("HH:mm:ss.SS"),
+ getCategory().toString(),
+ getCallerFile(),
+ getCallerMethodName(),
+ String.valueOf(getCallerLineNumber()),
+ getDescription(),
+ exception.toString());
+ }
}
diff --git a/Software/Android_Studio/Tango.Logging/src/main/java/com/twine/tango/logging/FileLogger.java b/Software/Android_Studio/Tango.Logging/src/main/java/com/twine/tango/logging/FileLogger.java
index db9da89a7..50b6b27b6 100644
--- a/Software/Android_Studio/Tango.Logging/src/main/java/com/twine/tango/logging/FileLogger.java
+++ b/Software/Android_Studio/Tango.Logging/src/main/java/com/twine/tango/logging/FileLogger.java
@@ -1,9 +1,108 @@
package com.twine.tango.logging;
+import android.content.Context;
+
+import org.joda.time.DateTime;
+
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.nio.charset.StandardCharsets;
+
/**
* Created by Roy on 3/18/2018.
*/
public class FileLogger implements ILogger
{
+ private boolean enabled;
+ private boolean immediate;
+ private String fileName;
+ private String folder;
+ private Context context;
+ private FileOutputStream stream;
+ private boolean fileCreated;
+
+ public FileLogger(Context context)
+ {
+ this.context = context;
+ folder = "logs";
+ fileName = "log-" + DateTime.now().toString("dd-MM-yyyy_HH-mm-ss") + ".log";
+ enabled = true;
+ }
+
+ public FileLogger(Context context, String folder, String fileName)
+ {
+ this(context);
+
+ this.folder = folder;
+ this.fileName = fileName;
+ this.context = context;
+ }
+
+ @Override
+ public void setEnabled(boolean enabled)
+ {
+ this.enabled = enabled;
+ }
+
+ @Override
+ public boolean getEnabled()
+ {
+ return this.enabled;
+ }
+
+ @Override
+ public void setImmediate(boolean immediate)
+ {
+ this.immediate = immediate;
+ }
+
+ @Override
+ public boolean getImmediate()
+ {
+ return this.immediate;
+ }
+
+ public String getFileName()
+ {
+ return fileName;
+ }
+
+ @Override
+ public void onLog(LogItem log)
+ {
+ try
+ {
+ ensureLogFile();
+ stream.write((log.toString() + System.lineSeparator()).getBytes(StandardCharsets.UTF_8));
+ }
+ catch (IOException e)
+ {
+ e.printStackTrace();
+ }
+ }
+
+ @Override
+ protected void finalize() throws Throwable
+ {
+ super.finalize();
+ stream.close();
+ }
+
+ private void ensureLogFile() throws IOException
+ {
+ if (!fileCreated)
+ {
+ fileCreated = true;
+ File sdcard = context.getFilesDir();
+ File dir = new File(sdcard.getAbsolutePath() + "/" + folder);
+ boolean b = dir.mkdirs();
+
+ File file = new File(dir.getAbsolutePath() + "/" + fileName);
+ b = file.createNewFile();
+
+ stream = new FileOutputStream(file, true);
+ }
+ }
}
diff --git a/Software/Android_Studio/Tango.Logging/src/main/java/com/twine/tango/logging/ILogger.java b/Software/Android_Studio/Tango.Logging/src/main/java/com/twine/tango/logging/ILogger.java
index 4e550332b..a6ddf1dfc 100644
--- a/Software/Android_Studio/Tango.Logging/src/main/java/com/twine/tango/logging/ILogger.java
+++ b/Software/Android_Studio/Tango.Logging/src/main/java/com/twine/tango/logging/ILogger.java
@@ -6,4 +6,13 @@ package com.twine.tango.logging;
public interface ILogger
{
+ void onLog(LogItem log);
+
+ void setEnabled(boolean enabled);
+
+ boolean getEnabled();
+
+ void setImmediate(boolean immediate);
+
+ boolean getImmediate();
}
diff --git a/Software/Android_Studio/Tango.Logging/src/main/java/com/twine/tango/logging/LogCatLogger.java b/Software/Android_Studio/Tango.Logging/src/main/java/com/twine/tango/logging/LogCatLogger.java
index 8dc14abad..e394503e1 100644
--- a/Software/Android_Studio/Tango.Logging/src/main/java/com/twine/tango/logging/LogCatLogger.java
+++ b/Software/Android_Studio/Tango.Logging/src/main/java/com/twine/tango/logging/LogCatLogger.java
@@ -1,9 +1,67 @@
package com.twine.tango.logging;
+import android.util.Log;
+
/**
* Created by Roy on 3/18/2018.
*/
public class LogCatLogger implements ILogger
{
+ private boolean enabled;
+ private boolean immediate;
+ private static final String tag = "Tango";
+
+ public LogCatLogger()
+ {
+ enabled = true;
+ immediate = true;
+ }
+
+ @Override
+ public void setEnabled(boolean enabled)
+ {
+ this.enabled = enabled;
+ }
+
+ @Override
+ public boolean getEnabled()
+ {
+ return this.enabled;
+ }
+
+ @Override
+ public void setImmediate(boolean immediate)
+ {
+ this.immediate = immediate;
+ }
+
+ @Override
+ public boolean getImmediate()
+ {
+ return this.immediate;
+ }
+
+ @Override
+ public void onLog(LogItem log)
+ {
+ switch (log.getCategory())
+ {
+ case Info:
+ Log.i(tag,log.toString());
+ break;
+ case Error:
+ Log.e(tag,log.toString());
+ break;
+ case Warning:
+ Log.w(tag,log.toString());
+ break;
+ case Critical:
+ Log.wtf(tag,log.toString());
+ break;
+ case Debug:
+ Log.d(tag,log.toString());
+ break;
+ }
+ }
}
diff --git a/Software/Android_Studio/Tango.Logging/src/main/java/com/twine/tango/logging/LogCategory.java b/Software/Android_Studio/Tango.Logging/src/main/java/com/twine/tango/logging/LogCategory.java
index bf116f95a..5ce2c521e 100644
--- a/Software/Android_Studio/Tango.Logging/src/main/java/com/twine/tango/logging/LogCategory.java
+++ b/Software/Android_Studio/Tango.Logging/src/main/java/com/twine/tango/logging/LogCategory.java
@@ -6,4 +6,9 @@ package com.twine.tango.logging;
public enum LogCategory
{
+ Info,
+ Warning,
+ Error,
+ Critical,
+ Debug,
}
diff --git a/Software/Android_Studio/Tango.Logging/src/main/java/com/twine/tango/logging/LogItem.java b/Software/Android_Studio/Tango.Logging/src/main/java/com/twine/tango/logging/LogItem.java
index 327858b15..deaeb3084 100644
--- a/Software/Android_Studio/Tango.Logging/src/main/java/com/twine/tango/logging/LogItem.java
+++ b/Software/Android_Studio/Tango.Logging/src/main/java/com/twine/tango/logging/LogItem.java
@@ -1,9 +1,71 @@
package com.twine.tango.logging;
+import org.joda.time.DateTime;
+
/**
* Created by Roy on 3/18/2018.
*/
-public class LogItem
+public abstract class LogItem
{
+ private String callerMethodName;
+ private String callerFile;
+ private int callerLineNumber;
+ private DateTime timeStamp;
+ private LogCategory category;
+
+ public String getCallerMethodName()
+ {
+ return callerMethodName;
+ }
+
+ public void setCallerMethodName(String callerMethodName)
+ {
+ this.callerMethodName = callerMethodName;
+ }
+
+ public String getCallerFile()
+ {
+ return callerFile;
+ }
+
+ public void setCallerFile(String callerFile)
+ {
+ this.callerFile = callerFile;
+ }
+
+ public int getCallerLineNumber()
+ {
+ return callerLineNumber;
+ }
+
+ public void setCallerLineNumber(int callerLineNumber)
+ {
+ this.callerLineNumber = callerLineNumber;
+ }
+
+ public DateTime getTimeStamp()
+ {
+ return timeStamp;
+ }
+
+ public void setTimeStamp(DateTime timeStamp)
+ {
+ this.timeStamp = timeStamp;
+ }
+
+ public LogCategory getCategory()
+ {
+ return category;
+ }
+
+ public void setCategory(LogCategory category)
+ {
+ this.category = category;
+ }
+
+ public abstract String getMessage();
+
+ @Override
+ public abstract String toString();
}
diff --git a/Software/Android_Studio/Tango.Logging/src/main/java/com/twine/tango/logging/LogManager.java b/Software/Android_Studio/Tango.Logging/src/main/java/com/twine/tango/logging/LogManager.java
index f77e09274..b3b8041a2 100644
--- a/Software/Android_Studio/Tango.Logging/src/main/java/com/twine/tango/logging/LogManager.java
+++ b/Software/Android_Studio/Tango.Logging/src/main/java/com/twine/tango/logging/LogManager.java
@@ -1,9 +1,215 @@
package com.twine.tango.logging;
+import org.joda.time.DateTime;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.concurrent.ConcurrentLinkedQueue;
+
/**
* Created by Roy on 3/18/2018.
*/
public class LogManager
{
+ private static LogManager defaultLogger;
+
+ private List<ILogger> loggers;
+ private ConcurrentLinkedQueue<LogItem> logs;
+ private Thread loggingThread;
+ private boolean isStarted;
+ private List<LogCategory> categories;
+
+ public static LogManager getDefault()
+ {
+ if (defaultLogger == null)
+ {
+ defaultLogger = new LogManager();
+ }
+
+ return defaultLogger;
+ }
+
+ public LogManager()
+ {
+ loggers = new ArrayList<>();
+ logs = new ConcurrentLinkedQueue<>();
+ categories = new ArrayList<>();
+
+ categories.add(LogCategory.Info);
+ categories.add(LogCategory.Critical);
+ categories.add(LogCategory.Error);
+ categories.add(LogCategory.Warning);
+ }
+
+ public List<LogCategory> getCategories()
+ {
+ return categories;
+ }
+
+ public void setCategories(List<LogCategory> categories)
+ {
+ this.categories = categories;
+ }
+
+ public boolean getHasLogsPending()
+ {
+ return logs.size() > 0;
+ }
+
+ public void registerLogger(ILogger logger)
+ {
+ if (logger != null && !loggers.contains(logger))
+ {
+ loggers.add(logger);
+ }
+ }
+
+ public void unregisterLogger(ILogger logger)
+ {
+ if (logger != null && loggers.contains(logger))
+ {
+ loggers.remove(logger);
+ }
+ }
+
+ private void fillStackInfo(StackTraceElement[] stackTraceElements, LogItem log)
+ {
+ if (stackTraceElements.length > 0)
+ {
+ int counter = 0;
+
+ StackTraceElement stack = stackTraceElements[counter];
+
+ while (!stack.getFileName().equals("LogManager.java"))
+ {
+ stack = stackTraceElements[counter++];
+ }
+
+ stack = stackTraceElements[counter];
+
+ log.setCallerFile(stack.getFileName());
+ log.setCallerMethodName(stack.getMethodName());
+ log.setCallerLineNumber(stack.getLineNumber());
+ }
+ }
+
+ public Exception log(Exception exception, LogCategory category, String description)
+ {
+ if (!categories.contains(category)) return exception;
+
+ ExceptionLogItem log = new ExceptionLogItem();
+ StackTraceElement[] stackTraceElements = Thread.currentThread().getStackTrace();
+ fillStackInfo(stackTraceElements, log);
+ log.setTimeStamp(DateTime.now());
+ log.setCategory(category);
+ log.setDescription(description);
+ log.setException(exception);
+
+ appendLog(log);
+
+ return exception;
+ }
+
+ public Exception log(Exception exception, String description)
+ {
+ ExceptionLogItem log = new ExceptionLogItem();
+ StackTraceElement[] stackTraceElements = Thread.currentThread().getStackTrace();
+ fillStackInfo(stackTraceElements, log);
+ log.setTimeStamp(DateTime.now());
+ log.setDescription(description);
+ log.setException(exception);
+ log.setCategory(LogCategory.Error);
+
+ appendLog(log);
+
+ return exception;
+ }
+
+ public String log(String message, LogCategory category)
+ {
+ MessageLogItem log = new MessageLogItem();
+ StackTraceElement[] stackTraceElements = Thread.currentThread().getStackTrace();
+ fillStackInfo(stackTraceElements, log);
+ log.setTimeStamp(DateTime.now());
+ log.setMessage(message);
+ log.setCategory(category);
+
+ appendLog(log);
+
+ return message;
+ }
+
+ public String log(String message)
+ {
+ MessageLogItem log = new MessageLogItem();
+ StackTraceElement[] stackTraceElements = Thread.currentThread().getStackTrace();
+ fillStackInfo(stackTraceElements, log);
+ log.setTimeStamp(DateTime.now());
+ log.setMessage(message);
+ log.setCategory(LogCategory.Info);
+
+ appendLog(log);
+
+ return message;
+ }
+
+ private void appendLog(LogItem log)
+ {
+ if (log != null)
+ {
+ for (ILogger logger : loggers)
+ {
+ if (logger.getEnabled() && logger.getImmediate())
+ {
+ logger.onLog(log);
+ }
+ }
+
+ logs.add(log);
+ }
+
+ startLoggingThread();
+ }
+
+ private void startLoggingThread()
+ {
+ if (!isStarted)
+ {
+ isStarted = true;
+ loggingThread = new Thread(this::loggingThreadMethod);
+ loggingThread.start();
+ }
+ }
+
+ private void loggingThreadMethod()
+ {
+ try
+ {
+ while (isStarted)
+ {
+ while (logs.size() > 0)
+ {
+ LogItem log = logs.poll();
+
+ if (log != null)
+ {
+ for (ILogger logger : loggers)
+ {
+ if (logger.getEnabled() && !logger.getImmediate())
+ {
+ logger.onLog(log);
+ }
+ }
+ }
+ }
+
+ Thread.sleep(10);
+ }
+ }
+ catch (InterruptedException e)
+ {
+ e.printStackTrace();
+ }
+ }
}
diff --git a/Software/Android_Studio/Tango.Logging/src/main/java/com/twine/tango/logging/MessageLogItem.java b/Software/Android_Studio/Tango.Logging/src/main/java/com/twine/tango/logging/MessageLogItem.java
index 90659cb7e..cf7c7ab48 100644
--- a/Software/Android_Studio/Tango.Logging/src/main/java/com/twine/tango/logging/MessageLogItem.java
+++ b/Software/Android_Studio/Tango.Logging/src/main/java/com/twine/tango/logging/MessageLogItem.java
@@ -6,4 +6,28 @@ package com.twine.tango.logging;
public class MessageLogItem extends LogItem
{
+ private String message;
+
+ @Override
+ public String getMessage()
+ {
+ return message;
+ }
+
+ public void setMessage(String message)
+ {
+ this.message = message;
+ }
+
+ @Override
+ public String toString()
+ {
+ return String.format("[%s] [%s] [%s] [%s] [Line %s]: %s",
+ getTimeStamp().toString("HH:mm:ss.SS"),
+ getCategory().toString(),
+ getCallerFile(),
+ getCallerMethodName(),
+ String.valueOf(getCallerLineNumber()),
+ getMessage());
+ }
}
diff --git a/Software/Android_Studio/Tango.PMR/build.gradle b/Software/Android_Studio/Tango.PMR/build.gradle
index d65ec1a97..1aca6d009 100644
--- a/Software/Android_Studio/Tango.PMR/build.gradle
+++ b/Software/Android_Studio/Tango.PMR/build.gradle
@@ -56,10 +56,10 @@ task reflectPMR() << {
}
}
-tasks.withType(JavaCompile) {
- compileTask -> compileTask.dependsOn createPMR
-}
-
-tasks.withType(JavaCompile) {
- compileTask -> compileTask.dependsOn reflectPMR
-}
+//tasks.withType(JavaCompile) {
+// compileTask -> compileTask.dependsOn createPMR
+//}
+//
+//tasks.withType(JavaCompile) {
+// compileTask -> compileTask.dependsOn reflectPMR
+//}
diff --git a/Software/Android_Studio/Tango.UnitTesting/build.gradle b/Software/Android_Studio/Tango.UnitTesting/build.gradle
index 3f58e3803..a785e4580 100644
--- a/Software/Android_Studio/Tango.UnitTesting/build.gradle
+++ b/Software/Android_Studio/Tango.UnitTesting/build.gradle
@@ -45,4 +45,5 @@ dependencies {
implementation project(':Tango.Transport')
implementation project(':Tango.Web')
implementation project(':Tango.NativeBridge')
+ implementation project(':Tango.Logging')
}
diff --git a/Software/Android_Studio/Tango.UnitTesting/src/androidTest/java/com/twine/tango/unittesting/Logging_TST.java b/Software/Android_Studio/Tango.UnitTesting/src/androidTest/java/com/twine/tango/unittesting/Logging_TST.java
index 0e7b1fbd5..a1baa6f67 100644
--- a/Software/Android_Studio/Tango.UnitTesting/src/androidTest/java/com/twine/tango/unittesting/Logging_TST.java
+++ b/Software/Android_Studio/Tango.UnitTesting/src/androidTest/java/com/twine/tango/unittesting/Logging_TST.java
@@ -1,9 +1,48 @@
package com.twine.tango.unittesting;
+import android.content.Context;
+import android.support.test.InstrumentationRegistry;
+import android.support.test.runner.AndroidJUnit4;
+
+import com.twine.tango.logging.FileLogger;
+import com.twine.tango.logging.LogCatLogger;
+import com.twine.tango.logging.LogCategory;
+import com.twine.tango.logging.LogManager;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
/**
* Created by Roy on 3/18/2018.
*/
+@RunWith(AndroidJUnit4.class)
public class Logging_TST
{
+ @Test
+ public void register_and_log_using_log_Cat()
+ {
+ // Context of the app under test.
+ Context appContext = InstrumentationRegistry.getTargetContext();
+
+ LogManager logManager = LogManager.getDefault();
+
+ logManager.registerLogger(new LogCatLogger());
+ logManager.registerLogger(new FileLogger(appContext));
+
+ logManager.log("This is a general log message.");
+ logManager.log("This is a critical log message", LogCategory.Critical);
+
+ while (logManager.getHasLogsPending())
+ {
+ try
+ {
+ Thread.sleep(5000);
+ }
+ catch (InterruptedException e)
+ {
+ e.printStackTrace();
+ }
+ }
+ }
}
diff --git a/Software/Android_Studio/settings.gradle b/Software/Android_Studio/settings.gradle
index 15bb94e3b..77d1d0863 100644
--- a/Software/Android_Studio/settings.gradle
+++ b/Software/Android_Studio/settings.gradle
@@ -1 +1 @@
-include ':Tango.Stubs.UI', ':Tango.SharedUI', ':Tango.Models', ':Tango.Stubs', ':Tango.Integration', ':Tango.Transport', ':Tango.Core', ':Tango.PMR', ':Tango.DAL', ':Tango.Web', ':Tango.UnitTesting', ':Tango.NativeBridge'
+include ':Tango.Stubs.UI', ':Tango.SharedUI', ':Tango.Models', ':Tango.Stubs', ':Tango.Integration', ':Tango.Transport', ':Tango.Core', ':Tango.PMR', ':Tango.DAL', ':Tango.Web', ':Tango.UnitTesting', ':Tango.NativeBridge', ':Tango.Logging'
diff --git a/Software/DB/Tango.db b/Software/DB/Tango.db
index 82b936014..336f96dcf 100644
--- a/Software/DB/Tango.db
+++ b/Software/DB/Tango.db
Binary files differ
diff --git a/Software/DB/Tango.mdf b/Software/DB/Tango.mdf
index 328def1cd..8542aaac6 100644
--- a/Software/DB/Tango.mdf
+++ b/Software/DB/Tango.mdf
Binary files differ
diff --git a/Software/DB/Tango_log.ldf b/Software/DB/Tango_log.ldf
index a89ce1563..bf5478dd0 100644
--- a/Software/DB/Tango_log.ldf
+++ b/Software/DB/Tango_log.ldf
Binary files differ
diff --git a/Software/Visual_Studio/Tango.Logging/FileLogger.cs b/Software/Visual_Studio/Tango.Logging/FileLogger.cs
index 75c6e529e..e104b59b9 100644
--- a/Software/Visual_Studio/Tango.Logging/FileLogger.cs
+++ b/Software/Visual_Studio/Tango.Logging/FileLogger.cs
@@ -27,7 +27,7 @@ namespace Tango.Logging
_isEnabled = true;
String logsFolder = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "Twine", "Tango", "logs");
Directory.CreateDirectory(logsFolder);
- LogFile = Path.Combine(logsFolder, string.Format("{1}-{0:yyyy-MM-dd_hh-mm-ss}.log", DateTime.Now, Path.GetFileNameWithoutExtension(System.AppDomain.CurrentDomain.FriendlyName)));
+ LogFile = Path.Combine(logsFolder, string.Format("{1}-{0:dd-MM-yyyy_hh-mm-ss}.log", DateTime.Now, Path.GetFileNameWithoutExtension(System.AppDomain.CurrentDomain.FriendlyName)));
}
/// <summary>