Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Purge it with fire #1255

Merged
merged 1 commit into from
Mar 31, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
55 changes: 2 additions & 53 deletions src/FsAutoComplete.Logging/FsLibLog.fs
Original file line number Diff line number Diff line change
Expand Up @@ -48,45 +48,9 @@ module Types =
abstract member Log: Logger
abstract member MappedContext: MappedContext

#if FABLE_COMPILER
// Fable doesn't support System.Collections.Generic.Stack, so this implementation (from FCS)
// is used instead.
type Stack<'a>() =
let mutable contents = Array.zeroCreate<'a> (2)
let mutable count = 0

member buf.Ensure newSize =
let oldSize = contents.Length

if newSize > oldSize then
let old = contents
contents <- Array.zeroCreate (max newSize (oldSize * 2))
Array.blit old 0 contents 0 count

member buf.Count = count

member buf.Pop() =
let item = contents.[count - 1]
count <- count - 1
item

member buf.Peep() = contents.[count - 1]

member buf.Top(n) = [ for x in contents.[max 0 (count - n) .. count - 1] -> x ] |> List.rev

member buf.Push(x) =
buf.Ensure(count + 1)
contents.[count] <- x
count <- count + 1

member buf.IsEmpty = (count = 0)
#endif

[<AutoOpen>]
module Inner =
#if !FABLE_COMPILER
open System.Collections.Generic
#endif

/// <summary>
/// DisposableStack on Dispose will call dispose on items appended to its stack in Last In First Out.
Expand Down Expand Up @@ -310,8 +274,6 @@ module Types =
/// <returns>The amended log.</returns>
let setLogLevel (logLevel: LogLevel) (log: Log) = { log with LogLevel = logLevel }

#if !FABLE_COMPILER

let private formatterRegex =
Regex(@"(?<!{){(?<number>\d+)(?<columnFormat>:(?<format>[^}]+))?}(?!})", RegexOptions.Compiled)

Expand Down Expand Up @@ -377,7 +339,6 @@ module Types =
/// <param name="log">The log to amend.</param>
/// <returns>The amended log.</returns>
let setMessageI (message: FormattableString) (log: Log) = setMessageInterpolated message log
#endif

/// Provides operators to make writing logs more streamlined.
module Operators =
Expand Down Expand Up @@ -431,8 +392,6 @@ module Operators =
/// <returns>The amended log with the parameter added.</returns>
let (>>!!) log e = log >> Log.addException e


#if !FABLE_COMPILER
module Providers =
module SerilogProvider =
open System
Expand Down Expand Up @@ -904,27 +863,20 @@ module Providers =

let create () = MicrosoftProvider() :> ILogProvider

#endif


module LogProvider =
open System
open Types
#if !FABLE_COMPILER
open Providers
#endif
open System.Diagnostics
open Microsoft.FSharp.Quotations.Patterns

let mutable private currentLogProvider = None

let private knownProviders =
[
#if !FABLE_COMPILER
(SerilogProvider.isAvailable, SerilogProvider.create)
(MicrosoftExtensionsLoggingProvider.isAvailable, MicrosoftExtensionsLoggingProvider.create)
#endif
]
[ (SerilogProvider.isAvailable, SerilogProvider.create)
(MicrosoftExtensionsLoggingProvider.isAvailable, MicrosoftExtensionsLoggingProvider.create) ]

/// Greedy search for first available LogProvider. Order of known providers matters.
let private resolvedLogger =
Expand Down Expand Up @@ -1024,7 +976,6 @@ module LogProvider =
/// <returns></returns>
let inline getLoggerFor<'a> () = getLoggerByType (typeof<'a>)

#if !FABLE_COMPILER
let rec private getModuleType =
function
| PropertyGet(_, propertyInfo, _) -> propertyInfo.DeclaringType
Expand Down Expand Up @@ -1065,5 +1016,3 @@ type LogProvider =
mi.DeclaringType.FullName.Split('+') |> Seq.tryHead |> Option.defaultValue ""

sprintf "%s.%s" location memberName.Value |> LogProvider.getLoggerByName

#endif
Loading