{"id":353138,"date":"2022-09-22T07:21:05","date_gmt":"2022-09-22T07:21:05","guid":{"rendered":"https:\/\/webkul.com\/blog\/?p=353138"},"modified":"2022-09-22T07:26:16","modified_gmt":"2022-09-22T07:26:16","slug":"prestashop-filelogger","status":"publish","type":"post","link":"https:\/\/webkul.com\/blog\/prestashop-filelogger\/","title":{"rendered":"PrestaShop FileLogger for writing module logs"},"content":{"rendered":"\n<p>It is a known best practice to keep logs for critical processes so that whenever a failure occurs, we can check logs and find the reason of the failure. PrestaShop has its own FileLogger system that we can reuse to generate logs in module. Here we will discuss how to generate module logs with various severity levels and creating report by parsing the log file.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Generate logs with PrestaShop FileLogger<\/h2>\n\n\n\n<p>Let&#8217;s dive in directly on how to use FileLogger in module, then we will discuss each point afterwards.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"php\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ Create an object of PrestaShop FileLogger\n$logger = new FileLogger();\n\n\/\/ Provide file path to write logs\n$filePath = _PS_MODULE_DIR_.'myexamplemodule\/log\/process.log';\n$logger-&gt;setFilename($filePath);\n$logger-&gt;logDebug('Starting example logger process.');\ntry {\n    $warning = false;\n    \/**\n     * Your process code here, set warning if any\n     *\/\n    if ($warning) {\n        \/\/ Log warning message to file\n        $logger-&gt;logWarning($warning);\n    } else {\n        \/\/ Log a success message to file\n        $logger-&gt;logInfo('The process was completed without error.');\n    }\n} catch (Exception $e) {\n    \/\/ Log error message to file\n    $logger-&gt;logError('Exception: '.$e-&gt;getMessage());\n}<\/pre>\n\n\n\n<p>Lets understand above code line by line:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>Create a FileLogger object<\/strong>: The FileLogger class is already loaded in PrestaShop environment, so you can directly use it without including its file or class in module.<\/li><li><strong>Provide a file path for logs<\/strong>: We need to provide a file path in which FileLogger writes the logs. FileLogger will create the file if not exists. However, the folder must exist with writable permissions.<\/li><li><strong>Creating logs<\/strong>: We can generate 4 types (severity) of log messages : DEBUG, WARNING, INFO and ERROR.<ul><li><strong><em>logDebug<\/em><\/strong>: This method writes DEBUG type log. This type of logs are just info in between the process. Example: <ul><li><em>&#8220;*DEBUG* 2022\/09\/22 &#8211; 12:10:49: Starting example logger process.&#8221;<\/em><\/li><\/ul><\/li><li><strong><em>logWarning<\/em><\/strong>: This writes the given warning message to log file, example: <ul><li><em>&#8220;*WARNING* 2022\/09\/22 &#8211; 12:10:49: This is a warning message&#8221;<\/em><\/li><\/ul><\/li><li><strong><em>logInfo<\/em><\/strong>: This method writes informative (like a success info) messages to log file. Example:<ul><li><em>&#8220;*INFO* 2022\/09\/22 &#8211; 12:10:49: The process was completed without error.&#8221;<\/em><\/li><\/ul><\/li><li><strong><em>logError<\/em><\/strong>: This is used to write error level logs to file. Example:<ul><li><em>&#8220;*ERROR* 2022\/09\/22 &#8211; 12:10:49: Exception: this is an exception message&#8221;<\/em><\/li><\/ul><\/li><\/ul><\/li><\/ul>\n\n\n\n<p>The log file looks like this after writing logs:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"718\" height=\"154\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2022\/09\/image-271.png\" alt=\"image-271\" class=\"wp-image-353161\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2022\/09\/image-271.png 718w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2022\/09\/image-271-300x64.png 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2022\/09\/image-271-250x54.png 250w\" sizes=\"(max-width: 718px) 100vw, 718px\" loading=\"lazy\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Parse log file to generate report:<\/h2>\n\n\n\n<p>Since FileLogger uses a consistent format for each log line, therefore we can parse the log file and generate a log report in form of a array also. The simplest way to do this is to split each line and extract necessary information. For example:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"php\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">$filePath = _PS_MODULE_DIR_.'myexamplemodule\/log\/process.log';\n$logDetail = file($filePath);\nif ($logDetail) {\n    $logArray = array();\n    foreach ($logDetail as $data) {\n        $logParts = explode(\": \", $data);\n        $logDateTime = explode(\"* \", $logParts[0]);\n        $message = $logParts[1];\n        $logArray[] = array(\n            'status' =&gt; Tools::substr($logDateTime[0], 1),\/\/ INFO, ERROR etc\n            'date' =&gt; trim($logDateTime[1]),\n            'msg' =&gt; trim($message),\n        );\n    }\n    return $logArray;\n}<\/pre>\n\n\n\n<p>The above code will give us the log details in following format:<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:25%\"><\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:50%\">\n<figure class=\"wp-block-image size-full is-resized is-style-default\"><img decoding=\"async\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2022\/09\/image-275.png\" alt=\"PrestaShop FileLogger report\" class=\"wp-image-353174\" width=\"414\" height=\"399\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2022\/09\/image-275.png 497w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2022\/09\/image-275-300x289.png 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2022\/09\/image-275-250x241.png 250w\" sizes=\"(max-width: 414px) 100vw, 414px\" loading=\"lazy\" \/><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:25%\"><\/div>\n<\/div>\n\n\n\n<p>That&#8217;s all about how to use PrestaShop FileLogger to generate logs. If any issue or doubt in the above process, please feel free to let us know in the comment section. <\/p>\n\n\n\n<p>I would be happy to help.<\/p>\n\n\n\n<p>Also, you can explore our <a href=\"https:\/\/webkul.com\/prestashop-development\/\">PrestaShop Development Services<\/a>  and a large range of quality <a href=\"https:\/\/store.webkul.com\/PrestaShop-Extensions.html\">PrestaShop Modules<\/a>.<\/p>\n\n\n\n<p>For any doubt contact us at <a href=\"mailto:support@webkul.com\">support@webkul.com<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>It is a known best practice to keep logs for critical processes so that whenever a failure occurs, we can check logs and find the reason of the failure. PrestaShop has its own FileLogger system that we can reuse to generate logs in module. Here we will discuss how to generate module logs with various <a href=\"https:\/\/webkul.com\/blog\/prestashop-filelogger\/\">[&#8230;]<\/a><\/p>\n","protected":false},"author":264,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[209,1],"tags":[],"class_list":["post-353138","post","type-post","status-publish","format-standard","hentry","category-prestashop","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>PrestaShop FileLogger for writing module logs - Webkul Blog<\/title>\n<meta name=\"description\" content=\"PrestaShop FileLogger is a powerful system which we can reuse to generate module process logs helpful to identify issues at runtime.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/webkul.com\/blog\/prestashop-filelogger\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"PrestaShop FileLogger for writing module logs - Webkul Blog\" \/>\n<meta property=\"og:description\" content=\"PrestaShop FileLogger is a powerful system which we can reuse to generate module process logs helpful to identify issues at runtime.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/webkul.com\/blog\/prestashop-filelogger\/\" \/>\n<meta property=\"og:site_name\" content=\"Webkul Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/webkul\/\" \/>\n<meta property=\"article:published_time\" content=\"2022-09-22T07:21:05+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-09-22T07:26:16+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/webkul.com\/blog\/wp-content\/uploads\/2022\/09\/image-271.png\" \/>\n<meta name=\"author\" content=\"Ram Chandra\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@webkul\" \/>\n<meta name=\"twitter:site\" content=\"@webkul\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Ram Chandra\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/webkul.com\/blog\/prestashop-filelogger\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/webkul.com\/blog\/prestashop-filelogger\/\"},\"author\":{\"name\":\"Ram Chandra\",\"@id\":\"https:\/\/webkul.com\/blog\/#\/schema\/person\/abcd2edf640c51cd905386b99118ad71\"},\"headline\":\"PrestaShop FileLogger for writing module logs\",\"datePublished\":\"2022-09-22T07:21:05+00:00\",\"dateModified\":\"2022-09-22T07:26:16+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/webkul.com\/blog\/prestashop-filelogger\/\"},\"wordCount\":397,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/webkul.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/webkul.com\/blog\/prestashop-filelogger\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/webkul.com\/blog\/wp-content\/uploads\/2022\/09\/image-271.png\",\"articleSection\":[\"prestashop\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/webkul.com\/blog\/prestashop-filelogger\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/webkul.com\/blog\/prestashop-filelogger\/\",\"url\":\"https:\/\/webkul.com\/blog\/prestashop-filelogger\/\",\"name\":\"PrestaShop FileLogger for writing module logs - Webkul Blog\",\"isPartOf\":{\"@id\":\"https:\/\/webkul.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/webkul.com\/blog\/prestashop-filelogger\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/webkul.com\/blog\/prestashop-filelogger\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/webkul.com\/blog\/wp-content\/uploads\/2022\/09\/image-271.png\",\"datePublished\":\"2022-09-22T07:21:05+00:00\",\"dateModified\":\"2022-09-22T07:26:16+00:00\",\"description\":\"PrestaShop FileLogger is a powerful system which we can reuse to generate module process logs helpful to identify issues at runtime.\",\"breadcrumb\":{\"@id\":\"https:\/\/webkul.com\/blog\/prestashop-filelogger\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/webkul.com\/blog\/prestashop-filelogger\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/webkul.com\/blog\/prestashop-filelogger\/#primaryimage\",\"url\":\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2022\/09\/image-271.png\",\"contentUrl\":\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2022\/09\/image-271.png\",\"width\":718,\"height\":154,\"caption\":\"image-271\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/webkul.com\/blog\/prestashop-filelogger\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/webkul.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"PrestaShop FileLogger for writing module logs\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/webkul.com\/blog\/#website\",\"url\":\"https:\/\/webkul.com\/blog\/\",\"name\":\"Webkul Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/webkul.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/webkul.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/webkul.com\/blog\/#organization\",\"name\":\"WebKul Software Private Limited\",\"url\":\"https:\/\/webkul.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/webkul.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/webkul-logo-accent-sq.png\",\"contentUrl\":\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/webkul-logo-accent-sq.png\",\"width\":380,\"height\":380,\"caption\":\"WebKul Software Private Limited\"},\"image\":{\"@id\":\"https:\/\/webkul.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/webkul\/\",\"https:\/\/x.com\/webkul\",\"https:\/\/www.instagram.com\/webkul\/\",\"https:\/\/www.linkedin.com\/company\/webkul\",\"https:\/\/www.youtube.com\/user\/webkul\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/webkul.com\/blog\/#\/schema\/person\/abcd2edf640c51cd905386b99118ad71\",\"name\":\"Ram Chandra\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/webkul.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/a237e2b96f2a8989c930db6c377971a3d52601b0bba3c5e3dc79a88205178d26?s=96&d=https%3A%2F%2Fcdnblog.webkul.com%2Fblog%2Fwp-content%2Fuploads%2F2019%2F10%2Fmike.png&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/a237e2b96f2a8989c930db6c377971a3d52601b0bba3c5e3dc79a88205178d26?s=96&d=https%3A%2F%2Fcdnblog.webkul.com%2Fblog%2Fwp-content%2Fuploads%2F2019%2F10%2Fmike.png&r=g\",\"caption\":\"Ram Chandra\"},\"url\":\"https:\/\/webkul.com\/blog\/author\/ram-chandra178\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"PrestaShop FileLogger for writing module logs - Webkul Blog","description":"PrestaShop FileLogger is a powerful system which we can reuse to generate module process logs helpful to identify issues at runtime.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/webkul.com\/blog\/prestashop-filelogger\/","og_locale":"en_US","og_type":"article","og_title":"PrestaShop FileLogger for writing module logs - Webkul Blog","og_description":"PrestaShop FileLogger is a powerful system which we can reuse to generate module process logs helpful to identify issues at runtime.","og_url":"https:\/\/webkul.com\/blog\/prestashop-filelogger\/","og_site_name":"Webkul Blog","article_publisher":"https:\/\/www.facebook.com\/webkul\/","article_published_time":"2022-09-22T07:21:05+00:00","article_modified_time":"2022-09-22T07:26:16+00:00","og_image":[{"url":"https:\/\/webkul.com\/blog\/wp-content\/uploads\/2022\/09\/image-271.png","type":"","width":"","height":""}],"author":"Ram Chandra","twitter_card":"summary_large_image","twitter_creator":"@webkul","twitter_site":"@webkul","twitter_misc":{"Written by":"Ram Chandra","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/webkul.com\/blog\/prestashop-filelogger\/#article","isPartOf":{"@id":"https:\/\/webkul.com\/blog\/prestashop-filelogger\/"},"author":{"name":"Ram Chandra","@id":"https:\/\/webkul.com\/blog\/#\/schema\/person\/abcd2edf640c51cd905386b99118ad71"},"headline":"PrestaShop FileLogger for writing module logs","datePublished":"2022-09-22T07:21:05+00:00","dateModified":"2022-09-22T07:26:16+00:00","mainEntityOfPage":{"@id":"https:\/\/webkul.com\/blog\/prestashop-filelogger\/"},"wordCount":397,"commentCount":0,"publisher":{"@id":"https:\/\/webkul.com\/blog\/#organization"},"image":{"@id":"https:\/\/webkul.com\/blog\/prestashop-filelogger\/#primaryimage"},"thumbnailUrl":"https:\/\/webkul.com\/blog\/wp-content\/uploads\/2022\/09\/image-271.png","articleSection":["prestashop"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/webkul.com\/blog\/prestashop-filelogger\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/webkul.com\/blog\/prestashop-filelogger\/","url":"https:\/\/webkul.com\/blog\/prestashop-filelogger\/","name":"PrestaShop FileLogger for writing module logs - Webkul Blog","isPartOf":{"@id":"https:\/\/webkul.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/webkul.com\/blog\/prestashop-filelogger\/#primaryimage"},"image":{"@id":"https:\/\/webkul.com\/blog\/prestashop-filelogger\/#primaryimage"},"thumbnailUrl":"https:\/\/webkul.com\/blog\/wp-content\/uploads\/2022\/09\/image-271.png","datePublished":"2022-09-22T07:21:05+00:00","dateModified":"2022-09-22T07:26:16+00:00","description":"PrestaShop FileLogger is a powerful system which we can reuse to generate module process logs helpful to identify issues at runtime.","breadcrumb":{"@id":"https:\/\/webkul.com\/blog\/prestashop-filelogger\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/webkul.com\/blog\/prestashop-filelogger\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/webkul.com\/blog\/prestashop-filelogger\/#primaryimage","url":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2022\/09\/image-271.png","contentUrl":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2022\/09\/image-271.png","width":718,"height":154,"caption":"image-271"},{"@type":"BreadcrumbList","@id":"https:\/\/webkul.com\/blog\/prestashop-filelogger\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/webkul.com\/blog\/"},{"@type":"ListItem","position":2,"name":"PrestaShop FileLogger for writing module logs"}]},{"@type":"WebSite","@id":"https:\/\/webkul.com\/blog\/#website","url":"https:\/\/webkul.com\/blog\/","name":"Webkul Blog","description":"","publisher":{"@id":"https:\/\/webkul.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/webkul.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/webkul.com\/blog\/#organization","name":"WebKul Software Private Limited","url":"https:\/\/webkul.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/webkul.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/webkul-logo-accent-sq.png","contentUrl":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/webkul-logo-accent-sq.png","width":380,"height":380,"caption":"WebKul Software Private Limited"},"image":{"@id":"https:\/\/webkul.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/webkul\/","https:\/\/x.com\/webkul","https:\/\/www.instagram.com\/webkul\/","https:\/\/www.linkedin.com\/company\/webkul","https:\/\/www.youtube.com\/user\/webkul\/"]},{"@type":"Person","@id":"https:\/\/webkul.com\/blog\/#\/schema\/person\/abcd2edf640c51cd905386b99118ad71","name":"Ram Chandra","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/webkul.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/a237e2b96f2a8989c930db6c377971a3d52601b0bba3c5e3dc79a88205178d26?s=96&d=https%3A%2F%2Fcdnblog.webkul.com%2Fblog%2Fwp-content%2Fuploads%2F2019%2F10%2Fmike.png&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/a237e2b96f2a8989c930db6c377971a3d52601b0bba3c5e3dc79a88205178d26?s=96&d=https%3A%2F%2Fcdnblog.webkul.com%2Fblog%2Fwp-content%2Fuploads%2F2019%2F10%2Fmike.png&r=g","caption":"Ram Chandra"},"url":"https:\/\/webkul.com\/blog\/author\/ram-chandra178\/"}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/posts\/353138","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/users\/264"}],"replies":[{"embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/comments?post=353138"}],"version-history":[{"count":13,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/posts\/353138\/revisions"}],"predecessor-version":[{"id":353195,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/posts\/353138\/revisions\/353195"}],"wp:attachment":[{"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/media?parent=353138"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/categories?post=353138"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/tags?post=353138"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}