Cached Layout Renderer

Julian Verdurmen edited this page Nov 30, 2016 · 8 revisions
Clone this wiki locally

Applies caching to another layout output.

Supported in .NET, Silverlight, Compact Framework and Mono.

Configuration Syntax


or by using ambient property to modify output of other layout renderer:



Caching Options

  • cached - Indicates whether this CachedLayoutRendererWrapper is enabled. Boolean Default: True
  • clearCache - Introduced in NLog 4.2. Indicates when the cache is cleared. Possible options: None, OnInit, Onclose. ClearCacheOption Default: OnInit, OnClose.
  • 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

Transformation Options

  • inner - Wrapped layout. Layout


  • ${cached:cached=true:clearCache=OnInit,OnClose:inner=l}: The value of l 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 of l is cached and the cache will not be cleared.
  • filename="${cached:cached=true:Inner=${date:format=yyyy-MM-dd}: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.