Skip to content

Commit

Permalink
v0.9
Browse files Browse the repository at this point in the history
  • Loading branch information
Fatihprlg committed Jul 19, 2023
1 parent 71c1c75 commit 331b6ca
Show file tree
Hide file tree
Showing 32 changed files with 246 additions and 126 deletions.
8 changes: 8 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -70,3 +70,11 @@ crashlytics-build.properties
# Temporary auto-generated Android Assets
/[Aa]ssets/[Ss]treamingAssets/aa.meta
/[Aa]ssets/[Ss]treamingAssets/aa/*
/[Aa]ssets/Firebase/
/[Aa]ssets/ExternalDependencyManager/
/[Aa]ssets/Editor Default Resources/
/[Aa]ssets/Plugins/tvOS/
Assets/StreamingAssets/google-services-desktop.json
Assets/google-services.json
Assets/google-services.json.meta
Assets/StreamingAssets/google-services-desktop.json.meta
8 changes: 8 additions & 0 deletions Assets/Editor Default Resources.meta

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 8 additions & 0 deletions Assets/ExternalDependencyManager.meta

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 8 additions & 0 deletions Assets/Firebase.meta

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

36 changes: 9 additions & 27 deletions Assets/Plugins/F-Tracer/Editor/SettingsWindow.cs
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
using UnityEditor;
using UnityEngine;

Expand All @@ -11,9 +12,6 @@ internal class SettingsWindow : EditorWindow
private string _toEmailList;
private GUIContent _fileLoggerTypeContent;
private GUIContent _fileLoggerPeriodContent;
private GUIContent _databaseLoggerConnectionContent;
private GUIContent _databaseLoggerUNameContent;
private GUIContent _databaseLoggerPwdContent;

[MenuItem("FTracer/Settings")]
private static void ShowWindow()
Expand All @@ -27,19 +25,22 @@ private static void ShowWindow()
private void OnEnable()
{
_settings = FSettings.Load();

var sb = new StringBuilder();
foreach (var mail in _settings.fTracerSettings.emailSettings.toEmail)
{
sb.Append($"{mail}\n");
}
_toEmailList = sb.ToString();

_fileLoggerTypeContent = new GUIContent("File Logger Type", "Select the type of save file for file logger");
_fileLoggerPeriodContent = new GUIContent("File Logger Period",
"Select the time period which the file logger create new file");
_databaseLoggerConnectionContent = new GUIContent("Connection String", "Enter database connection string");
_databaseLoggerUNameContent = new GUIContent("Username", "Enter the username for connection");
_databaseLoggerPwdContent = new GUIContent("Password", "Enter the password for connection");
}

private void OnGUI()
{
GUILayout.Label("F Tracer Settings", EditorStyles.boldLabel);

DrawLoggerSettings();
DrawTracerSettings();
DrawBottomButtons();
Expand Down Expand Up @@ -86,11 +87,6 @@ private void DrawBottomButtons()

if (GUILayout.Button("Save"))
{
if (!_settings.fTracerSettings.customSmtp)
{
_settings.fTracerSettings.emailSettings = new FEmailSettings();
}

ParseEmailList();
_settings.Save();
}
Expand All @@ -104,8 +100,6 @@ private void DrawTracerSettings()

_settings.fTracerSettings.sendEmailActive =
EditorGUILayout.BeginToggleGroup("Send E-Mail On Crush", _settings.fTracerSettings.sendEmailActive);
_settings.fTracerSettings.customSmtp =
EditorGUILayout.BeginToggleGroup("Custom SMTP Client (Recommended)", _settings.fTracerSettings.customSmtp);
_settings.fTracerSettings.emailSettings.smtpClientHost = EditorGUILayout.TextField("SMTP Client", _settings.fTracerSettings.emailSettings.smtpClientHost);
_settings.fTracerSettings.emailSettings.fromEmail = EditorGUILayout.TextField("From E-mail", _settings.fTracerSettings.emailSettings.fromEmail);
_settings.fTracerSettings.emailSettings.fromPassword = EditorGUILayout.PasswordField("From Password", _settings.fTracerSettings.emailSettings.fromPassword);
Expand All @@ -132,18 +126,6 @@ private void DrawLoggerSettings()
_fileLoggerPeriodContent,
_settings.fLoggerSettings.fileLoggerSettings.loggerPeriod);
EditorGUILayout.EndToggleGroup();
_settings.fLoggerSettings.databaseLoggerActive =
EditorGUILayout.BeginToggleGroup("Database Logger", _settings.fLoggerSettings.databaseLoggerActive);
_settings.fLoggerSettings.databaseLoggerSettings.connectionString = EditorGUILayout.TextField(
_databaseLoggerConnectionContent,
_settings.fLoggerSettings.databaseLoggerSettings.connectionString);
_settings.fLoggerSettings.databaseLoggerSettings.userName = EditorGUILayout.TextField(
_databaseLoggerUNameContent,
_settings.fLoggerSettings.databaseLoggerSettings.userName);
_settings.fLoggerSettings.databaseLoggerSettings.password = EditorGUILayout.PasswordField(
_databaseLoggerPwdContent,
_settings.fLoggerSettings.databaseLoggerSettings.password);
EditorGUILayout.EndToggleGroup();
_settings.fLoggerSettings.firebaseLoggerActive =
EditorGUILayout.BeginToggleGroup("Firebase Logger", _settings.fLoggerSettings.firebaseLoggerActive);

Expand Down
5 changes: 5 additions & 0 deletions Assets/Plugins/F-Tracer/Runtime/Abstractions/ILogger.cs
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,13 @@ internal interface ILogger
{
public void Error(string message, Object @object = null);

public void Exception(string message, Object @object = null);

public void Warning(string message, Object @object = null);

public void Event(string message, string paramName, string param);
public void Event(string message);

public void Log(string message, Object @object = null);

public void Log(string message, FLoggerColors color);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
using UnityEngine;

internal class Bootsrapper
internal static class Bootstrapper
{
[RuntimeInitializeOnLoadMethod]
private static void Initialize()
Expand All @@ -10,5 +10,4 @@ private static void Initialize()
FLogger.Load(settings.fLoggerSettings);
FLogger.Log("Application started.", FLoggerColors.Green);
}

}
50 changes: 42 additions & 8 deletions Assets/Plugins/F-Tracer/Runtime/Concretes/FLogger.cs
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
using UnityEngine;
using System;
using System.Text;
using Object = UnityEngine.Object;

public static class FLogger
{
private static ConsoleLogger _consoleLogger;
private static DatabaseLogger _databaseLogger;
private static FileLogger _fileLogger;
private static FirebaseLogger _firebaseLogger;
internal static string GetLastLogFileName() => _fileLogger != null ? _fileLogger.GetLastLogFileName() : "";
Expand All @@ -14,42 +15,75 @@ internal static void Load(FLoggerSettings settings)
_consoleLogger = new ConsoleLogger();
if (settings.fileLoggerActive)
_fileLogger = new FileLogger(settings.fileLoggerSettings);
if (settings.databaseLoggerActive)
_databaseLogger = new DatabaseLogger(settings.databaseLoggerSettings);
if (settings.firebaseLoggerActive)
_firebaseLogger = new FirebaseLogger(settings.firebaseLoggerSettings);
}


public static void Error(string message, Object @object = null)
{
message = FormatLog(message, LogType.Error);
_consoleLogger?.Error(message, @object);
_fileLogger?.Error(message, @object);
_databaseLogger?.Error(message, @object);
_firebaseLogger?.Error(message, @object);
}

public static void Warning(string message, Object @object = null)
{
message = FormatLog(message, LogType.Warning);
_consoleLogger?.Warning(message, @object);
_fileLogger?.Warning(message, @object);
_databaseLogger?.Warning(message, @object);
_firebaseLogger?.Warning(message, @object);
}

public static void Log(string message, Object @object = null)
{
message = FormatLog(message, LogType.Default);
_consoleLogger?.Log(message, @object);
_fileLogger?.Log(message, @object);
_databaseLogger?.Log(message, @object);
_firebaseLogger?.Log(message, @object);
}

public static void Log(string message, FLoggerColors color)
{
message = FormatLog(message, LogType.Custom);
_consoleLogger?.Log(message, color);
_fileLogger?.Log(message, color);
_databaseLogger?.Log(message, color);
_firebaseLogger?.Log(message, color);
}

public static void LogEvent(string message, string paramName, string paramValue)
{
message = FormatLog(message, LogType.Event);
_consoleLogger?.Event(message, paramName, paramValue);
_fileLogger?.Event(message, paramName, paramValue);
_firebaseLogger?.Event(message, paramName, paramValue);
}
public static void LogEvent(string message)
{
message = FormatLog(message, LogType.Event);
_consoleLogger?.Event(message);
_fileLogger?.Event(message);
_firebaseLogger?.Event(message);
}

private static string FormatLog(string message, LogType type)
{
var sb = new StringBuilder();
var color = type switch
{
LogType.Default => FLoggerColors.White.ToString().ToLower(),
LogType.Error => FLoggerColors.Red.ToString().ToLower(),
LogType.Warning => FLoggerColors.Yellow.ToString().ToLower(),
LogType.Custom => "",
LogType.Exception => FLoggerColors.Red.ToString().ToLower(),
LogType.Event => FLoggerColors.Blue.ToString().ToLower(),
_ => throw new ArgumentOutOfRangeException(nameof(type), type, null)
};
sb.Append(type == LogType.Custom ? "" : $"<color= {color}>");
sb.Append($"[F-Logger]:[{type.ToString()}]: ");
sb.Append(type == LogType.Custom ? "" : "</color> ");
sb.Append(message);
return sb.ToString();
}
}
1 change: 1 addition & 0 deletions Assets/Plugins/F-Tracer/Runtime/Concretes/FStackTracer.cs
Original file line number Diff line number Diff line change
Expand Up @@ -31,5 +31,6 @@ private static void HandleCrush(string logString, string stackTrace)
{
EmailHelper.SendCrushReport(_settings.emailSettings, stackTrace);
}

}
}
17 changes: 17 additions & 0 deletions Assets/Plugins/F-Tracer/Runtime/Concretes/Loggers/ConsoleLogger.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
using System;
using UnityEngine;
using Object = UnityEngine.Object;

internal class ConsoleLogger : ILogger
{
Expand All @@ -7,11 +9,26 @@ public void Error(string message, Object @object = null)
Debug.LogError(message, @object);
}

public void Exception(string message, Object @object = null)
{
Debug.LogException(new Exception(message), @object);
}

public void Warning(string message, Object @object = null)
{
Debug.LogWarning(message, @object);
}

public void Event(string message, string paramName, string param)
{
Debug.Log($"{message}:[ParamName]{paramName}:[Param]{param}");
}

public void Event(string message)
{
Debug.Log(message);
}

public void Log(string message, Object @object = null)
{
Debug.Log(message, @object);
Expand Down

This file was deleted.

This file was deleted.

30 changes: 30 additions & 0 deletions Assets/Plugins/F-Tracer/Runtime/Concretes/Loggers/FileLogger.cs
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,16 @@ public void Error(string message, Object @object = null)
SaveLogData(logData);
}

public void Exception(string message, Object @object = null)
{
var contextName = @object ? @object.ToString() : "LogException";
var logData = new LogData
{
logMessage = $"<{DateTime.Now:hh:mm:ss t z}> {contextName} : {message}",
logType = LogType.Exception
};
SaveLogData(logData); }

public void Warning(string message, Object @object = null)
{
var contextName = @object ? @object.ToString() : "LogWarning";
Expand All @@ -39,6 +49,26 @@ public void Warning(string message, Object @object = null)
SaveLogData(logData);
}

public void Event(string message, string paramName, string param)
{
var logData = new LogData
{
logMessage = $"<{DateTime.Now:hh:mm:ss t z}> LogEvent : [{paramName}] : {param} : {message}",
logType = LogType.Event
};
SaveLogData(logData);
}

public void Event(string message)
{
var logData = new LogData
{
logMessage = $"<{DateTime.Now:hh:mm:ss t z}> LogEvent : {message}",
logType = LogType.Event
};
SaveLogData(logData);
}

public void Log(string message, Object @object = null)
{
var contextName = @object ? @object.ToString() : "Log";
Expand Down
Loading

0 comments on commit 331b6ca

Please sign in to comment.