Skip to content

Commit 822b65e

Browse files
authored
Merge pull request #3408 from Jack251970/error_log
New API Function LogError
2 parents 75f23aa + 6c5bb7d commit 822b65e

File tree

4 files changed

+40
-17
lines changed

4 files changed

+40
-17
lines changed

Flow.Launcher.Core/Plugin/JsonRPCV2Models/JsonRPCPublicAPI.cs

+6-2
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ namespace Flow.Launcher.Core.Plugin.JsonRPCV2Models
1212
{
1313
public class JsonRPCPublicAPI
1414
{
15-
private IPublicAPI _api;
15+
private readonly IPublicAPI _api;
1616

1717
public JsonRPCPublicAPI(IPublicAPI api)
1818
{
@@ -104,7 +104,6 @@ public List<PluginPair> GetAllPlugins()
104104
return _api.GetAllPlugins();
105105
}
106106

107-
108107
public MatchResult FuzzySearch(string query, string stringToCompare)
109108
{
110109
return _api.FuzzySearch(query, stringToCompare);
@@ -156,6 +155,11 @@ public void LogWarn(string className, string message, [CallerMemberName] string
156155
_api.LogWarn(className, message, methodName);
157156
}
158157

158+
public void LogError(string className, string message, [CallerMemberName] string methodName = "")
159+
{
160+
_api.LogError(className, message, methodName);
161+
}
162+
159163
public void OpenDirectory(string DirectoryPath, string FileNameOrFilePath = null)
160164
{
161165
_api.OpenDirectory(DirectoryPath, FileNameOrFilePath);

Flow.Launcher.Infrastructure/Logger/Log.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
using System.Diagnostics;
22
using System.IO;
33
using System.Runtime.CompilerServices;
4+
using System.Runtime.ExceptionServices;
5+
using Flow.Launcher.Infrastructure.UserSettings;
46
using NLog;
57
using NLog.Config;
68
using NLog.Targets;
7-
using Flow.Launcher.Infrastructure.UserSettings;
89
using NLog.Targets.Wrappers;
9-
using System.Runtime.ExceptionServices;
1010

1111
namespace Flow.Launcher.Infrastructure.Logger
1212
{

Flow.Launcher.Plugin/Interfaces/IPublicAPI.cs

+5
Original file line numberDiff line numberDiff line change
@@ -228,6 +228,11 @@ public interface IPublicAPI
228228
/// </summary>
229229
void LogWarn(string className, string message, [CallerMemberName] string methodName = "");
230230

231+
/// <summary>
232+
/// Log error message. Preferred error logging method for plugins.
233+
/// </summary>
234+
void LogError(string className, string message, [CallerMemberName] string methodName = "");
235+
231236
/// <summary>
232237
/// Log an Exception. Will throw if in debug mode so developer will be aware,
233238
/// otherwise logs the eror message. This is the primary logging method used for Flow

Flow.Launcher/PublicAPIInstance.cs

+27-13
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,10 @@
1212
using System.Windows;
1313
using System.Windows.Media;
1414
using CommunityToolkit.Mvvm.DependencyInjection;
15-
using Squirrel;
1615
using Flow.Launcher.Core;
1716
using Flow.Launcher.Core.Plugin;
17+
using Flow.Launcher.Core.Resource;
18+
using Flow.Launcher.Core.ExternalPlugins;
1819
using Flow.Launcher.Helper;
1920
using Flow.Launcher.Infrastructure;
2021
using Flow.Launcher.Infrastructure.Http;
@@ -28,8 +29,7 @@
2829
using Flow.Launcher.Plugin.SharedCommands;
2930
using Flow.Launcher.ViewModel;
3031
using JetBrains.Annotations;
31-
using Flow.Launcher.Core.Resource;
32-
using Flow.Launcher.Core.ExternalPlugins;
32+
using Squirrel;
3333

3434
namespace Flow.Launcher
3535
{
@@ -89,7 +89,11 @@ public async void RestartApp()
8989

9090
public bool IsMainWindowVisible() => _mainVM.MainWindowVisibilityStatus;
9191

92-
public event VisibilityChangedEventHandler VisibilityChanged { add => _mainVM.VisibilityChanged += value; remove => _mainVM.VisibilityChanged -= value; }
92+
public event VisibilityChangedEventHandler VisibilityChanged
93+
{
94+
add => _mainVM.VisibilityChanged += value;
95+
remove => _mainVM.VisibilityChanged -= value;
96+
}
9397

9498
// Must use Ioc.Default.GetRequiredService<Updater>() to avoid circular dependency
9599
public void CheckForNewUpdate() => _ = Ioc.Default.GetRequiredService<Updater>().UpdateAppAsync(false);
@@ -176,13 +180,14 @@ public void CopyToClipboard(string stringToCopy, bool directCopy = false, bool s
176180
public MatchResult FuzzySearch(string query, string stringToCompare) =>
177181
StringMatcher.FuzzySearch(query, stringToCompare);
178182

179-
public Task<string> HttpGetStringAsync(string url, CancellationToken token = default) => Http.GetAsync(url, token);
183+
public Task<string> HttpGetStringAsync(string url, CancellationToken token = default) =>
184+
Http.GetAsync(url, token);
180185

181186
public Task<Stream> HttpGetStreamAsync(string url, CancellationToken token = default) =>
182187
Http.GetStreamAsync(url, token);
183188

184189
public Task HttpDownloadAsync([NotNull] string url, [NotNull] string filePath, Action<double> reportProgress = null,
185-
CancellationToken token = default) => Http.DownloadAsync(url, filePath, reportProgress, token);
190+
CancellationToken token = default) =>Http.DownloadAsync(url, filePath, reportProgress, token);
186191

187192
public void AddActionKeyword(string pluginId, string newActionKeyword) =>
188193
PluginManager.AddActionKeyword(pluginId, newActionKeyword);
@@ -201,8 +206,11 @@ public void LogInfo(string className, string message, [CallerMemberName] string
201206
public void LogWarn(string className, string message, [CallerMemberName] string methodName = "") =>
202207
Log.Warn(className, message, methodName);
203208

204-
public void LogException(string className, string message, Exception e,
205-
[CallerMemberName] string methodName = "") => Log.Exception(className, message, e, methodName);
209+
public void LogError(string className, string message, [CallerMemberName] string methodName = "") =>
210+
Log.Error(className, message, methodName);
211+
212+
public void LogException(string className, string message, Exception e, [CallerMemberName] string methodName = "") =>
213+
Log.Exception(className, message, e, methodName);
206214

207215
private readonly ConcurrentDictionary<Type, object> _pluginJsonStorages = new();
208216

@@ -215,7 +223,7 @@ public void RemovePluginSettings(string assemblyName)
215223
var name = value.GetType().GetField("AssemblyName")?.GetValue(value)?.ToString();
216224
if (name == assemblyName)
217225
{
218-
_pluginJsonStorages.Remove(key, out var pluginJsonStorage);
226+
_pluginJsonStorages.Remove(key, out var _);
219227
}
220228
}
221229
}
@@ -344,17 +352,23 @@ public bool IsGameModeOn()
344352

345353
private readonly List<Func<int, int, SpecialKeyState, bool>> _globalKeyboardHandlers = new();
346354

347-
public void RegisterGlobalKeyboardCallback(Func<int, int, SpecialKeyState, bool> callback) => _globalKeyboardHandlers.Add(callback);
348-
public void RemoveGlobalKeyboardCallback(Func<int, int, SpecialKeyState, bool> callback) => _globalKeyboardHandlers.Remove(callback);
355+
public void RegisterGlobalKeyboardCallback(Func<int, int, SpecialKeyState, bool> callback) =>
356+
_globalKeyboardHandlers.Add(callback);
357+
358+
public void RemoveGlobalKeyboardCallback(Func<int, int, SpecialKeyState, bool> callback) =>
359+
_globalKeyboardHandlers.Remove(callback);
349360

350361
public void ReQuery(bool reselect = true) => _mainVM.ReQuery(reselect);
351362

352363
public void BackToQueryResults() => _mainVM.BackToQueryResults();
353364

354-
public MessageBoxResult ShowMsgBox(string messageBoxText, string caption = "", MessageBoxButton button = MessageBoxButton.OK, MessageBoxImage icon = MessageBoxImage.None, MessageBoxResult defaultResult = MessageBoxResult.OK) =>
365+
public MessageBoxResult ShowMsgBox(string messageBoxText, string caption = "",
366+
MessageBoxButton button = MessageBoxButton.OK, MessageBoxImage icon = MessageBoxImage.None,
367+
MessageBoxResult defaultResult = MessageBoxResult.OK) =>
355368
MessageBoxEx.Show(messageBoxText, caption, button, icon, defaultResult);
356369

357-
public Task ShowProgressBoxAsync(string caption, Func<Action<double>, Task> reportProgressAsync, Action cancelProgress = null) => ProgressBoxEx.ShowAsync(caption, reportProgressAsync, cancelProgress);
370+
public Task ShowProgressBoxAsync(string caption, Func<Action<double>, Task> reportProgressAsync,
371+
Action cancelProgress = null) => ProgressBoxEx.ShowAsync(caption, reportProgressAsync, cancelProgress);
358372

359373
public ValueTask<ImageSource> LoadImageAsync(string path, bool loadFullImage = false, bool cacheImage = true) =>
360374
ImageLoader.LoadAsync(path, loadFullImage, cacheImage);

0 commit comments

Comments
 (0)