dm Server
  1. dm Server
  2. DMS-23

Rebase dm Server's serviceability on Medic

    Details

      Description

      Currently the logging and tracing systems for the dm Server are totally custom and maintained by the team. Many users have requested extensions to this logging system in order to configure levels and appenders for the output. Rather than implement these new features ourself (writing out own logging system...), we should remove our custom logging system and replace it with something off-the-shelf. This would allow us to stop expending effort maintaining and improving our logging system, while allowing our the users to customize the functionality as they wish.

      Please see the wiki for discussion on possible implementation choices.

        Activity

        Hide
        Ben Hale (c) added a comment - - edited

        The wiki is a little overkill. I'm going to catalog my research here.

        The two main choices are java.util.logging and SLF4J/LogBack.

        java.util.logging

        • Pros
          • Does not add another dependency
        • Cons
          • Does not have placeholder substitution
          • Does not have many appenders (Console, File, Socket)

        SLF4J/LogBack

        • Pros
          • Known customer usage
          • Wide variety of appenders (SMTP to satisfy a specific request)
        • Cons
          • Two additional dependencies

        I looked at Resin as well and saw that they've opted for java.util.logging, but in their documentation it's pretty clear that you can't do SMTP logging without introducing a third-party dependency.

        My recommendation is for SLF4J. It does introduce a dependency, but that dependency brings along a lot of functionality that's already being requested by customers.

        Show
        Ben Hale (c) added a comment - - edited The wiki is a little overkill. I'm going to catalog my research here. The two main choices are java.util.logging and SLF4J/LogBack. java.util.logging Pros Does not add another dependency Cons Does not have placeholder substitution Does not have many appenders (Console, File, Socket) SLF4J/LogBack Pros Known customer usage Wide variety of appenders (SMTP to satisfy a specific request) Cons Two additional dependencies I looked at Resin as well and saw that they've opted for java.util.logging , but in their documentation it's pretty clear that you can't do SMTP logging without introducing a third-party dependency. My recommendation is for SLF4J. It does introduce a dependency, but that dependency brings along a lot of functionality that's already being requested by customers.
        Hide
        Andy Wilkinson added a comment -

        The current plan is that this requirement will be satisfied by SLF4J backed by LogBack, along with a custom context selector to allow configuration per bundle / application / etc to allow users to configure their own layouts, appenders, levels etc.

        Show
        Andy Wilkinson added a comment - The current plan is that this requirement will be satisfied by SLF4J backed by LogBack, along with a custom context selector to allow configuration per bundle / application / etc to allow users to configure their own layouts, appenders, levels etc.

          People

          • Assignee:
            Unassigned
            Reporter:
            Ben Hale (c)
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:
              First Response Date:

              Time Tracking

              Estimated:
              Original Estimate - 26h 10m Original Estimate - 26h 10m
              26h 10m
              Remaining:
              Remaining Estimate - 0h
              0h
              Logged:
              Time Spent - 52h 31m
              52h 31m