{"id":458,"date":"2011-09-08T10:05:43","date_gmt":"2011-09-08T18:05:43","guid":{"rendered":"http:\/\/raffy.ch\/blog\/?p=458"},"modified":"2011-09-07T19:37:24","modified_gmt":"2011-09-08T03:37:24","slug":"logging-guidelines-enable-action","status":"publish","type":"post","link":"https:\/\/raffy.ch\/blog\/2011\/09\/08\/logging-guidelines-enable-action\/","title":{"rendered":"Logging Guidelines Enable Actions"},"content":{"rendered":"<p><img decoding=\"async\" src=\"http:\/\/raffy.ch\/blog\/wp-content\/uploads\/2011\/09\/images.jpeg\" alt=\"Log Book\" title=\"Log Book\" width=\"180\" style=\"float:right;\" \/>Analyzing log files can be a very time consuming process and it doesn&#8217;t seem to get any easier. In the past 12 years I have been on both sides of the table. I have analyzed terabytes of logs and I have written a lot of code that generates logs. When I started writing Loggly&#8217;s middleware, I thought it was going to be really easy and fun to finally write the perfect application logs. Guess what, I was wrong. Although I have seen pretty much any log format out there, I had the hardest time coming up with a decent log format for ourselves. What&#8217;s a good log format anyways? The short answer is: &#8220;One that enables analytics or actions.&#8221; <\/p>\n<p>I was sufficiently motivated to come up with a good log format that I decided to write a paper about <a href=\"http:\/\/pixlcloud.com\/applicationlogging.pdf\">application logging guidelines<\/a>. The paper has two main parts: Logging Guidelines and a reference architecture for a cloud service. In the first part I am covering the questions of <strong>when<\/strong> to log, <strong>what<\/strong> to log, and <strong>how<\/strong> to log. It&#8217;s not as easy as you might think. The most important thing to constantly keep in mind is the use of the logs. Especially for the question on what to log you need to keep the log consumer in mind. Are the logs consumed by a human? Are they consumed by a log management tool? What are the people looking at the logs trying to do? Debugging the application? Monitoring performance? Detecting security violations? Depending on the answers to these questions, you might change the places in your code that you emit log records. (Or even better you log in all places and add a use-case indicator as a field to your logs.)<\/p>\n<p>The paper is a starting point and not a definite guide. I would expect readers to challenge it and come up with improvements and refinements of use-cases and also the exact contents of the log records. I&#8217;d love to hear from practitioners and get a dialog going.<\/p>\n<p>As a side note: CEE, the <a href=\"http:\/\/cee.mitre.org\">Common Event Expression<\/a> standard, covers parts of what I am talking about in the paper. However, the paper&#8217;s focus is mainly on defining guidelines for application developers; establishing a baseline of when log entries should be recorded and what information should be included.\n<\/p>\n<p>Resources: <strong>Cloud Application Logging for Forensics<\/strong> &#8211; <a href=\"http:\/\/pixlcloud.com\/applicationlogging.pdf\">Paper<\/a> &#8211; <a href=\"http:\/\/www.slideshare.net\/zrlram\/cloud-application-logging-for-forensics\">Presentation<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Analyzing log files can be a very time consuming process and it doesn&#8217;t seem to get any easier. In the past 12 years I have been on both sides of the table. I have analyzed terabytes of logs and I have written a lot of code that generates logs. When I started writing Loggly&#8217;s middleware, [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6,3],"tags":[],"class_list":["post-458","post","type-post","status-publish","format-standard","hentry","category-log-analysis","category-programming"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.0.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"Analyzing log files can be a very time consuming process and it doesn&#039;t seem to get any easier. In the past 12 years I have been on both sides of the table. I have analyzed terabytes of logs and I have written a lot of code that generates logs. When I started writing Loggly&#039;s middleware,\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Raffael Marty\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/raffy.ch\/blog\/2011\/09\/08\/logging-guidelines-enable-action\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.0.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Future of Tech and Security: Strategy &amp; Innovation with Raffy \u2013 Insights at the intersection of cybersecurity, strategy, and innovation.\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Logging Guidelines Enable Actions \u2013 Future of Tech and Security: Strategy &amp; Innovation with Raffy\" \/>\n\t\t<meta property=\"og:description\" content=\"Analyzing log files can be a very time consuming process and it doesn&#039;t seem to get any easier. In the past 12 years I have been on both sides of the table. I have analyzed terabytes of logs and I have written a lot of code that generates logs. When I started writing Loggly&#039;s middleware,\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/raffy.ch\/blog\/2011\/09\/08\/logging-guidelines-enable-action\/\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/raffy.ch\/blog\/wp-content\/uploads\/2025\/09\/ogimage.png\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/raffy.ch\/blog\/wp-content\/uploads\/2025\/09\/ogimage.png\" \/>\n\t\t<meta property=\"og:image:width\" content=\"512\" \/>\n\t\t<meta property=\"og:image:height\" content=\"512\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2011-09-08T18:05:43+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2011-09-08T03:37:24+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary\" \/>\n\t\t<meta name=\"twitter:site\" content=\"@raffaelmarty\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Logging Guidelines Enable Actions \u2013 Future of Tech and Security: Strategy &amp; Innovation with Raffy\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Analyzing log files can be a very time consuming process and it doesn&#039;t seem to get any easier. In the past 12 years I have been on both sides of the table. I have analyzed terabytes of logs and I have written a lot of code that generates logs. When I started writing Loggly&#039;s middleware,\" \/>\n\t\t<meta name=\"twitter:creator\" content=\"@raffaelmarty\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/raffy.ch\/blog\/wp-content\/uploads\/2025\/09\/ogimage.png\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BlogPosting\",\"@id\":\"https:\\\/\\\/raffy.ch\\\/blog\\\/2011\\\/09\\\/08\\\/logging-guidelines-enable-action\\\/#blogposting\",\"name\":\"Logging Guidelines Enable Actions \\u2013 Future of Tech and Security: Strategy & Innovation with Raffy\",\"headline\":\"Logging Guidelines Enable Actions\",\"author\":{\"@id\":\"https:\\\/\\\/raffy.ch\\\/blog\\\/author\\\/raffy\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/raffy.ch\\\/blog\\\/#person\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/raffy.ch\\\/blog\\\/wp-content\\\/uploads\\\/2011\\\/09\\\/images.jpeg\",\"@id\":\"https:\\\/\\\/raffy.ch\\\/blog\\\/2011\\\/09\\\/08\\\/logging-guidelines-enable-action\\\/#articleImage\",\"width\":240,\"height\":193},\"datePublished\":\"2011-09-08T10:05:43-06:00\",\"dateModified\":\"2011-09-07T19:37:24-06:00\",\"inLanguage\":\"en-US\",\"commentCount\":3,\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/raffy.ch\\\/blog\\\/2011\\\/09\\\/08\\\/logging-guidelines-enable-action\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/raffy.ch\\\/blog\\\/2011\\\/09\\\/08\\\/logging-guidelines-enable-action\\\/#webpage\"},\"articleSection\":\"Log Analysis, Programming\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/raffy.ch\\\/blog\\\/2011\\\/09\\\/08\\\/logging-guidelines-enable-action\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/raffy.ch\\\/blog#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/raffy.ch\\\/blog\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/raffy.ch\\\/blog\\\/category\\\/programming\\\/#listItem\",\"name\":\"Programming\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/raffy.ch\\\/blog\\\/category\\\/programming\\\/#listItem\",\"position\":2,\"name\":\"Programming\",\"item\":\"https:\\\/\\\/raffy.ch\\\/blog\\\/category\\\/programming\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/raffy.ch\\\/blog\\\/2011\\\/09\\\/08\\\/logging-guidelines-enable-action\\\/#listItem\",\"name\":\"Logging Guidelines Enable Actions\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/raffy.ch\\\/blog#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/raffy.ch\\\/blog\\\/2011\\\/09\\\/08\\\/logging-guidelines-enable-action\\\/#listItem\",\"position\":3,\"name\":\"Logging Guidelines Enable Actions\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/raffy.ch\\\/blog\\\/category\\\/programming\\\/#listItem\",\"name\":\"Programming\"}}]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/raffy.ch\\\/blog\\\/#person\",\"name\":\"Raffael Marty\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/raffy.ch\\\/blog\\\/2011\\\/09\\\/08\\\/logging-guidelines-enable-action\\\/#personImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1a1923877d9dbd00d99847074d62faab586cce0a9ee6a4c85e8bb7c46d7418ac?s=96&d=mm&r=g\",\"width\":96,\"height\":96,\"caption\":\"Raffael Marty\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/raffy.ch\\\/blog\\\/author\\\/raffy\\\/#author\",\"url\":\"https:\\\/\\\/raffy.ch\\\/blog\\\/author\\\/raffy\\\/\",\"name\":\"Raffael Marty\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/raffy.ch\\\/blog\\\/2011\\\/09\\\/08\\\/logging-guidelines-enable-action\\\/#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1a1923877d9dbd00d99847074d62faab586cce0a9ee6a4c85e8bb7c46d7418ac?s=96&d=mm&r=g\",\"width\":96,\"height\":96,\"caption\":\"Raffael Marty\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/raffy.ch\\\/blog\\\/2011\\\/09\\\/08\\\/logging-guidelines-enable-action\\\/#webpage\",\"url\":\"https:\\\/\\\/raffy.ch\\\/blog\\\/2011\\\/09\\\/08\\\/logging-guidelines-enable-action\\\/\",\"name\":\"Logging Guidelines Enable Actions \\u2013 Future of Tech and Security: Strategy & Innovation with Raffy\",\"description\":\"Analyzing log files can be a very time consuming process and it doesn't seem to get any easier. In the past 12 years I have been on both sides of the table. I have analyzed terabytes of logs and I have written a lot of code that generates logs. When I started writing Loggly's middleware,\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/raffy.ch\\\/blog\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/raffy.ch\\\/blog\\\/2011\\\/09\\\/08\\\/logging-guidelines-enable-action\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/raffy.ch\\\/blog\\\/author\\\/raffy\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/raffy.ch\\\/blog\\\/author\\\/raffy\\\/#author\"},\"datePublished\":\"2011-09-08T10:05:43-06:00\",\"dateModified\":\"2011-09-07T19:37:24-06:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/raffy.ch\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/raffy.ch\\\/blog\\\/\",\"name\":\"Cyber Security - Strategy and Innovation\",\"description\":\"Insights at the intersection of cybersecurity, strategy, and innovation.\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/raffy.ch\\\/blog\\\/#person\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Logging Guidelines Enable Actions \u2013 Future of Tech and Security: Strategy & Innovation with Raffy","description":"Analyzing log files can be a very time consuming process and it doesn't seem to get any easier. In the past 12 years I have been on both sides of the table. I have analyzed terabytes of logs and I have written a lot of code that generates logs. When I started writing Loggly's middleware,","canonical_url":"https:\/\/raffy.ch\/blog\/2011\/09\/08\/logging-guidelines-enable-action\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BlogPosting","@id":"https:\/\/raffy.ch\/blog\/2011\/09\/08\/logging-guidelines-enable-action\/#blogposting","name":"Logging Guidelines Enable Actions \u2013 Future of Tech and Security: Strategy & Innovation with Raffy","headline":"Logging Guidelines Enable Actions","author":{"@id":"https:\/\/raffy.ch\/blog\/author\/raffy\/#author"},"publisher":{"@id":"https:\/\/raffy.ch\/blog\/#person"},"image":{"@type":"ImageObject","url":"https:\/\/raffy.ch\/blog\/wp-content\/uploads\/2011\/09\/images.jpeg","@id":"https:\/\/raffy.ch\/blog\/2011\/09\/08\/logging-guidelines-enable-action\/#articleImage","width":240,"height":193},"datePublished":"2011-09-08T10:05:43-06:00","dateModified":"2011-09-07T19:37:24-06:00","inLanguage":"en-US","commentCount":3,"mainEntityOfPage":{"@id":"https:\/\/raffy.ch\/blog\/2011\/09\/08\/logging-guidelines-enable-action\/#webpage"},"isPartOf":{"@id":"https:\/\/raffy.ch\/blog\/2011\/09\/08\/logging-guidelines-enable-action\/#webpage"},"articleSection":"Log Analysis, Programming"},{"@type":"BreadcrumbList","@id":"https:\/\/raffy.ch\/blog\/2011\/09\/08\/logging-guidelines-enable-action\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/raffy.ch\/blog#listItem","position":1,"name":"Home","item":"https:\/\/raffy.ch\/blog","nextItem":{"@type":"ListItem","@id":"https:\/\/raffy.ch\/blog\/category\/programming\/#listItem","name":"Programming"}},{"@type":"ListItem","@id":"https:\/\/raffy.ch\/blog\/category\/programming\/#listItem","position":2,"name":"Programming","item":"https:\/\/raffy.ch\/blog\/category\/programming\/","nextItem":{"@type":"ListItem","@id":"https:\/\/raffy.ch\/blog\/2011\/09\/08\/logging-guidelines-enable-action\/#listItem","name":"Logging Guidelines Enable Actions"},"previousItem":{"@type":"ListItem","@id":"https:\/\/raffy.ch\/blog#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/raffy.ch\/blog\/2011\/09\/08\/logging-guidelines-enable-action\/#listItem","position":3,"name":"Logging Guidelines Enable Actions","previousItem":{"@type":"ListItem","@id":"https:\/\/raffy.ch\/blog\/category\/programming\/#listItem","name":"Programming"}}]},{"@type":"Person","@id":"https:\/\/raffy.ch\/blog\/#person","name":"Raffael Marty","image":{"@type":"ImageObject","@id":"https:\/\/raffy.ch\/blog\/2011\/09\/08\/logging-guidelines-enable-action\/#personImage","url":"https:\/\/secure.gravatar.com\/avatar\/1a1923877d9dbd00d99847074d62faab586cce0a9ee6a4c85e8bb7c46d7418ac?s=96&d=mm&r=g","width":96,"height":96,"caption":"Raffael Marty"}},{"@type":"Person","@id":"https:\/\/raffy.ch\/blog\/author\/raffy\/#author","url":"https:\/\/raffy.ch\/blog\/author\/raffy\/","name":"Raffael Marty","image":{"@type":"ImageObject","@id":"https:\/\/raffy.ch\/blog\/2011\/09\/08\/logging-guidelines-enable-action\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/1a1923877d9dbd00d99847074d62faab586cce0a9ee6a4c85e8bb7c46d7418ac?s=96&d=mm&r=g","width":96,"height":96,"caption":"Raffael Marty"}},{"@type":"WebPage","@id":"https:\/\/raffy.ch\/blog\/2011\/09\/08\/logging-guidelines-enable-action\/#webpage","url":"https:\/\/raffy.ch\/blog\/2011\/09\/08\/logging-guidelines-enable-action\/","name":"Logging Guidelines Enable Actions \u2013 Future of Tech and Security: Strategy & Innovation with Raffy","description":"Analyzing log files can be a very time consuming process and it doesn't seem to get any easier. In the past 12 years I have been on both sides of the table. I have analyzed terabytes of logs and I have written a lot of code that generates logs. When I started writing Loggly's middleware,","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/raffy.ch\/blog\/#website"},"breadcrumb":{"@id":"https:\/\/raffy.ch\/blog\/2011\/09\/08\/logging-guidelines-enable-action\/#breadcrumblist"},"author":{"@id":"https:\/\/raffy.ch\/blog\/author\/raffy\/#author"},"creator":{"@id":"https:\/\/raffy.ch\/blog\/author\/raffy\/#author"},"datePublished":"2011-09-08T10:05:43-06:00","dateModified":"2011-09-07T19:37:24-06:00"},{"@type":"WebSite","@id":"https:\/\/raffy.ch\/blog\/#website","url":"https:\/\/raffy.ch\/blog\/","name":"Cyber Security - Strategy and Innovation","description":"Insights at the intersection of cybersecurity, strategy, and innovation.","inLanguage":"en-US","publisher":{"@id":"https:\/\/raffy.ch\/blog\/#person"}}]},"og:locale":"en_US","og:site_name":"Future of Tech and Security: Strategy &amp; Innovation with Raffy \u2013 Insights at the intersection of cybersecurity, strategy, and innovation.","og:type":"article","og:title":"Logging Guidelines Enable Actions \u2013 Future of Tech and Security: Strategy &amp; Innovation with Raffy","og:description":"Analyzing log files can be a very time consuming process and it doesn't seem to get any easier. In the past 12 years I have been on both sides of the table. I have analyzed terabytes of logs and I have written a lot of code that generates logs. When I started writing Loggly's middleware,","og:url":"https:\/\/raffy.ch\/blog\/2011\/09\/08\/logging-guidelines-enable-action\/","og:image":"https:\/\/raffy.ch\/blog\/wp-content\/uploads\/2025\/09\/ogimage.png","og:image:secure_url":"https:\/\/raffy.ch\/blog\/wp-content\/uploads\/2025\/09\/ogimage.png","og:image:width":512,"og:image:height":512,"article:published_time":"2011-09-08T18:05:43+00:00","article:modified_time":"2011-09-08T03:37:24+00:00","twitter:card":"summary","twitter:site":"@raffaelmarty","twitter:title":"Logging Guidelines Enable Actions \u2013 Future of Tech and Security: Strategy &amp; Innovation with Raffy","twitter:description":"Analyzing log files can be a very time consuming process and it doesn't seem to get any easier. In the past 12 years I have been on both sides of the table. I have analyzed terabytes of logs and I have written a lot of code that generates logs. When I started writing Loggly's middleware,","twitter:creator":"@raffaelmarty","twitter:image":"https:\/\/raffy.ch\/blog\/wp-content\/uploads\/2025\/09\/ogimage.png"},"aioseo_meta_data":{"post_id":"458","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"ai":null,"created":"2021-06-08 17:13:18","updated":"2025-06-12 20:13:04","focus_keyword":null,"additional_keywords":null,"truseo_locale":null,"seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/raffy.ch\/blog\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/raffy.ch\/blog\/category\/programming\/\" title=\"Programming\">Programming<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tLogging Guidelines Enable Actions\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/raffy.ch\/blog"},{"label":"Programming","link":"https:\/\/raffy.ch\/blog\/category\/programming\/"},{"label":"Logging Guidelines Enable Actions","link":"https:\/\/raffy.ch\/blog\/2011\/09\/08\/logging-guidelines-enable-action\/"}],"_links":{"self":[{"href":"https:\/\/raffy.ch\/blog\/wp-json\/wp\/v2\/posts\/458","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/raffy.ch\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/raffy.ch\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/raffy.ch\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/raffy.ch\/blog\/wp-json\/wp\/v2\/comments?post=458"}],"version-history":[{"count":21,"href":"https:\/\/raffy.ch\/blog\/wp-json\/wp\/v2\/posts\/458\/revisions"}],"predecessor-version":[{"id":480,"href":"https:\/\/raffy.ch\/blog\/wp-json\/wp\/v2\/posts\/458\/revisions\/480"}],"wp:attachment":[{"href":"https:\/\/raffy.ch\/blog\/wp-json\/wp\/v2\/media?parent=458"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/raffy.ch\/blog\/wp-json\/wp\/v2\/categories?post=458"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/raffy.ch\/blog\/wp-json\/wp\/v2\/tags?post=458"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}