-<span class="token key atrule">stdout_lines</span><span class="token punctuation">:</span> <omitted<span class="token punctuation">></span></code></pre><p>Instead of this:</p><pre class="language-json"><code class="language-json">fatal<span class="token operator">:</span> <span class="token punctuation">[</span>localhost<span class="token punctuation">]</span><span class="token operator">:</span> FAILED! => <span class="token punctuation">{</span><span class="token property">"changed"</span><span class="token operator">:</span> <span class="token boolean">true</span><span class="token punctuation">,</span> <span class="token property">"cmd"</span><span class="token operator">:</span> <span class="token string">"naught deploy --override-env true --cwd /home/ubuntu/project /home/ubuntu/project/shared/naught.ipc"</span><span class="token punctuation">,</span> <span class="token property">"delta"</span><span class="token operator">:</span> <span class="token string">"0:00:00.052263"</span><span class="token punctuation">,</span> <span class="token property">"end"</span><span class="token operator">:</span> <span class="token string">"2021-03-17 09:11:32.504379"</span><span class="token punctuation">,</span> <span class="token property">"msg"</span><span class="token operator">:</span> <span class="token string">"non-zero return code"</span><span class="token punctuation">,</span> <span class="token property">"rc"</span><span class="token operator">:</span> <span class="token number">1</span><span class="token punctuation">,</span> <span class="token property">"start"</span><span class="token operator">:</span> <span class="token string">"2021-03-17 09:11:32.452116"</span><span class="token punctuation">,</span> <span class="token property">"stderr"</span><span class="token operator">:</span> <span class="token string">"unable to connect to ipc-file `/home/ubuntu/project/shared/naught.ipc`\n\n1. the ipc file specified is invalid, or\n2. the daemon process died unexpectedly"</span><span class="token punctuation">,</span> <span class="token property">"stderr_lines"</span><span class="token operator">:</span> <span class="token punctuation">[</span><span class="token string">"unable to connect to ipc-file `/home/ubuntu/project/shared/naught.ipc`"</span><span class="token punctuation">,</span> <span class="token string">""</span><span class="token punctuation">,</span> <span class="token string">"1. the ipc file specified is invalid, or"</span><span class="token punctuation">,</span> <span class="token string">"2. the daemon process died unexpectedly"</span><span class="token punctuation">]</span><span class="token punctuation">,</span> <span class="token property">"stdout"</span><span class="token operator">:</span> <span class="token string">""</span><span class="token punctuation">,</span> <span class="token property">"stdout_lines"</span><span class="token operator">:</span> <span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token punctuation">}</span></code></pre><p>This also has the advantage of letting you alternating between <code>-v</code> and no debug calls with the appropriate formatting and it also works from a wrapper script.</p><p><a href="/posts" data-goatcounter-click="back-to-posts" data-goatcounter-referrer="/posts/2021/03/alter_ansible_debugging_output/">← Posts</a></p><hr/><p></p><h3>Related posts</h3><p>Posts in the same category: <span class="formatted-tag">[ansible]</span></p><ul><li><span class="post-date">Dec 2023</span> <a class="post-link" href="/notes/ansible/">Ansible tips</a></li></ul><hr/><comments><h3>Comments</h3><a class="add-comment-btn" href="https://github.com/statox/blog-comments/issues/24#new_comment_field" target="_blank" rel="noopener noreferrer"><button>Comment on Github</button></a><br/></comments><script>const reactionEmojis={laugh:"😀","+1":"👍","-1":"👎",hooray:"🎉",confused:"😕",heart:"♥",rocket:"🚀",eyes:"👀"};function domReady(e){document.addEventListener("DOMContentLoaded",e),"interactive"!==document.readyState&&"complete"!==document.readyState||e()}function countReactions(e){const t={};return e.forEach(e=>{t[e.content]?t[e.content]++:t[e.content]=1}),t}function formatReactions(e){if(!e.length)return"";const n=countReactions(e);return Object.keys(n).reduce((e,t)=>{return e+'<span class="comment-reaction-item">'+(reactionEmojis[t]||`:${t}:`)+" "+n[t]+"</span>"},"")}function appendComments(e){const o=document.querySelector("comments");var t=document.getElementById("commentCounter");t&&(t.innerText=e.length||0),e&&e.forEach&&0!==e.length?e.forEach(function(e){var t=formatCommentDate(new Date(e.created_at)),t=`<a href="${e.user.html_url} rel="noopener noreferrer" target="_blank">${e.user.login}</a>`+" on "+`<a href="${e.html_url}" rel="noopener noreferrer" target="_blank">${t}</a>`;let n="";n=(n=(n+='<div class="comment">')+' <div class="comment-header">'+t+'</div> <div class="comment-content">')+' <div class="comment-text">'+e.body_html+"</div>",0<e.reactions.length&&(n+=' <div class="comment-reactions">'+formatReactions(e.reactions)+"</div>"),n+=" </div></div>",o.insertAdjacentHTML("beforeend",n)}):o.insertAdjacentHTML("beforeend","<p>No comments yet.</p>")}async function getComments(e){return(await fetch(`https://api.github.com/repos/statox/blog-comments/issues/${e}/comments`,{method:"GET",mode:"cors",cache:"no-cache",headers:{Accept:"application/vnd.github.v3.html+json"}})).json()}async function getReactions(e){return(await fetch(`https://api.github.com/repos/statox/blog-comments/issues/comments/${e}/reactions`,{method:"GET",mode:"cors",cache:"no-cache",headers:{Accept:"application/vnd.github.squirrel-girl-preview+json"}})).json()}function formatCommentDate(e){return e.getDate()+`/${e.getUTCMonth()+1}/`+e.getFullYear()}function setupCommentsInPage(t){domReady(async()=>{var e=await getComments(t);await Promise.all(e.map(async e=>{e.reactions=await getReactions(e.id)})),appendComments(e)})}function adaptToScreenSize(e){var t=new Date("Wed Mar 17 2021 00:00:00 GMT+0000 (Coordinated Universal Time)");let n=t.toLocaleDateString(void 0,{year:"numeric",month:"long",day:"numeric"}),o="comments";e.matches&&(n=t.toLocaleDateString(void 0,{year:"numeric",month:"numeric",day:"numeric"}),o="💬"),document.getElementById("post_date").textContent=n,document.getElementById("comment_word").textContent=o}setupCommentsInPage(24);var x=window.matchMedia("(max-width: 500px)");adaptToScreenSize(x),x.addListener(adaptToScreenSize)</script><a class="top-link hide" href="" id="js-top"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 6"><path d="M12 6H0l6-6z"/></svg> <span class="screen-reader-text">Back to top</span></a><script>const scrollToTopButton=document.getElementById("js-top");let scrollTimer;const scrollFunc=()=>{var o=window.scrollY;scrollToTopButton.className=0<o?"top-link show":"top-link hide",scrollTimer&&clearTimeout(scrollTimer),scrollTimer=setTimeout(()=>{scrollToTopButton.className="top-link hide"},3e3)},scrollToTop=(window.addEventListener("scroll",scrollFunc),()=>{var o=document.documentElement.scrollTop||document.body.scrollTop;0<o&&(window.requestAnimationFrame(scrollToTop),window.scrollTo(0,o-o/2))});scrollToTopButton.onclick=function(o){o.preventDefault(),scrollToTop()}</script></div><script data-goatcounter="https://statoxblog.goatcounter.com/count" async src="//gc.zgo.at/count.js"></script><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/open-fonts@1.1.1/fonts/inter.min.css"/><script src="https://kit.fontawesome.com/cc32401bee.js" crossorigin="anonymous"></script></body></html>
0 commit comments