Giter Club home page Giter Club logo

Comments (4)

ktoso avatar ktoso commented on June 24, 2024

It is internal on purpose; swift-log should not expose any more types than the core logging interface things.

The situation with logs and concurrency primitives in Swift currently is a bit weird, since no such types exist in Swifts stdlib, however in order to avoid many libraries linking to someone's other's lock types such types are always internal in these libraries -- so that when a Lock type lands in standard library we can remove it here without breaking anyone's code.

You can copy the locks file to your own project if you want to use this Lock or you can use some other Lock structure (NSLock, or your own); https://github.com/apple/swift-log/blob/master/Sources/Logging/Locks.swift

from swift-log.

ktoso avatar ktoso commented on June 24, 2024

I do realize it is a bit weird that the docs example assumes the existence of the Lock type though...
Not sure what to do about this, it should definitely not be an example without locking as then people would be under impression that no locking is needed...

Perhaps we can add a comment next to the LogHandlerWithGlobalLogLevelOverride's Lock that "bring your own"?

from swift-log.

ktoso avatar ktoso commented on June 24, 2024

WDYT, @tomerd @weissi should we do something here?
Perhaps the minimal

Perhaps we can add a comment next to the LogHandlerWithGlobalLogLevelOverride's Lock that "bring your own"?

change would be good enough to resolve this ticket?

from swift-log.

weissi avatar weissi commented on June 24, 2024

@ktoso maybe we just use NSLock from Foundation?

from swift-log.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.