Cached Layout Renderer
Rolf Kristensen edited this page Sep 26, 2019
·
12 revisions
Applies caching to another layout output.
Platforms Supported: All
${cached:cached=Boolean:clearCache=ClearCacheOption:inner=Layout:cacheKey=Layout}
or by using ambient property to modify output of other layout renderer:
${other:cached=Boolean}
- cached - Indicates whether this CachedLayoutRendererWrapper is enabled. Boolean Default: True
-
clearCache - Indicates when the cache is cleared. Possible options:
None, OnInit, Onclose
. ClearCacheOption Default:OnInit, OnClose
.Introduced in NLog 4.2.
-
cacheKey - the layout to be checked if the cache is still valid. For example, the current day. Default:
null
.Introduced in NLog 4.3.9
-
cachedSeconds - Cached value will expire after timeout. Default: infinite
Introduced in NLog 4.6.8
- inner - Wrapped layout. Layout
-
${cached:cached=true:clearCache=OnInit,OnClose:inner=l}
: The value ofl
is cached and the cache will be cleared when the layout renderer is initialized or when it is closed. This is the same as${cached:cached=true:inner=l}
. -
${cached:cached=true:clearCache=None:inner=l}
: The value ofl
is cached and the cache will not be cleared. -
filename="${cached:cached=true:Inner=${date:format=yyyy-MM-dd hh.mm.ss}:CacheKey=${shortdate}}.log"
- Use the first logtime and day in the file name, only one file per day.
The value of the inner layout will be rendered only once and reused subsequently.
- Troubleshooting Guide - See available NLog Targets and Layouts: https://nlog-project.org/config
- Getting started
- How to use structured logging
- Troubleshooting
- FAQ
-
All targets, layouts and layout renderers
Popular: - Using NLog with NLog.config
- Using NLog with appsettings.json