Logging that just works
Logging was a very difficult thing to set-up in previous versions of Hangfire. Even if we omit tricky versioning issues, you had to install a separate logging adapter for your current logging library, with guessing the right one first (i.e. Common.Logging.NLog
or Common.Logging.NLog20
).
Now, the logging just works. If your project already uses Elmah, NLog, Log4Net, EntLib Logging, Serilog or Loupe you are not required to do anything. Thanks to awesome LibLog library by Damian Hickey (@randompunter on Twitter), installed logging library will be used automatically through the reflection.
If your application uses other logging library or a custom one, just implement two simple interfaces:
And yes, Hangfire is no more have Common.Logging
or Common.Logging.Core
dependencies.
Debugging with Symbolsource
SymbolSource is a service which exposes PDB symbols so you can step through Hangfire code while debugging your application. There are a few things to configure before we can begin, see symbolsource.org for more information.
Within Visual Studio:
- Go to Tools → Options → Debugger → General
- Uncheck “Enable Just My Code (Managed only)”
- Uncheck “Enable .NET Framework source stepping”
- Check “Enable source server support”
- Uncheck “Require source files to exactly match the original version”
- Go to Tools → Options → Debugger → Symbols
- Select a folder for the local symbol/source cache
- Add symbol servers under “Symbol file (.pdb) locations”: http://srv.symbolsource.org/pdb/Public
To speed up startup of the debug session, you can specify only the Hangfire dlls to be loaded. Go to Tools → Options → Debugger → Symbols, select “Only specified modules” and enter Hangfire.*.dll
Now you can step into Hangfire code while debugging.
Changes
-
Added – Generation of NuGet symbol packages with
*.pdb
and source files. - Added – Allow to customize serialization settings of Json.NET (by @fpellet).
-
Added – Ability to configure
ServerTimeout
option. -
Breaking – Use
LibLog
package instead ofCommon.Logging
for logging. -
Changed –
Hangfire.SqlServer
is now merged withDapper
package. -
Changed –
Dapper
package updated to 1.38. - Changed – Use ILMerge instead of ILRepack.
-
Changed – Update
Microsoft.Owin.Host.SystemWeb
to the latest version. - Fixed – Dashboard not crash if a scheduling task is cancelled (by @fpellet).
- Other – Use psake instead of MSBuild for project build automation.