[{"data":1,"prerenderedAt":305},["ShallowReactive",2],{"navigation":3,"page-\u002Fdeployments\u002Flogs":105,"surround-\u002Fdeployments\u002Flogs":300},[4,17,25,48,63,74,86],{"title":5,"path":6,"stem":7,"children":8,"icon":16,"exact":11},"Getting started","\u002Fgetting-started","1.getting-started\u002F1.index",[9,12],{"title":10,"path":6,"stem":7,"exact":11,"children":-1},"Introduction",true,{"title":13,"path":14,"stem":15,"exact":11,"children":-1},"Quickstart","\u002Fgetting-started\u002Fquickstart","1.getting-started\u002F2.quickstart","i-lucide-rocket",{"title":18,"path":19,"stem":20,"children":21,"icon":24,"exact":11},"Concepts","\u002Fconcepts","2.concepts\u002F1.index",[22],{"title":23,"path":19,"stem":20,"exact":11,"children":-1},"The Kuppit model","i-lucide-shapes",{"title":26,"path":27,"stem":28,"children":29,"icon":47,"exact":11},"Deployments","\u002Fdeployments","3.deployments\u002F1.index",[30,31,35,39,43],{"title":26,"path":27,"stem":28,"exact":11,"children":-1},{"title":32,"path":33,"stem":34,"exact":11,"children":-1},"Builds","\u002Fdeployments\u002Fbuilds","3.deployments\u002F2.builds",{"title":36,"path":37,"stem":38,"exact":11,"children":-1},"Redeploy and roll back","\u002Fdeployments\u002Fredeploy-and-rollback","3.deployments\u002F3.redeploy-and-rollback",{"title":40,"path":41,"stem":42,"exact":11,"children":-1},"Logs","\u002Fdeployments\u002Flogs","3.deployments\u002F4.logs",{"title":44,"path":45,"stem":46,"exact":11,"children":-1},"When a deployment fails","\u002Fdeployments\u002Fwhen-a-deployment-fails","3.deployments\u002F5.when-a-deployment-fails","i-lucide-cloud-upload",{"title":49,"path":50,"stem":51,"children":52,"icon":62,"exact":11},"Resources","\u002Fresources","4.resources\u002F1.index",[53,54,58],{"title":49,"path":50,"stem":51,"exact":11,"children":-1},{"title":55,"path":56,"stem":57,"exact":11,"children":-1},"Web services","\u002Fresources\u002Fweb-services","4.resources\u002F2.web-services",{"title":59,"path":60,"stem":61,"exact":11,"children":-1},"PostgreSQL","\u002Fresources\u002Fpostgresql","4.resources\u002F3.postgresql","i-lucide-boxes",{"title":64,"icon":65,"path":66,"stem":67,"children":68,"page":73,"exact":11},"Configuration","i-lucide-sliders-horizontal","\u002Fconfiguration","5.configuration",[69],{"title":70,"path":71,"stem":72,"exact":11,"children":-1},"Environment variables","\u002Fconfiguration\u002Fvariables","5.configuration\u002F1.variables",false,{"title":75,"path":76,"stem":77,"children":78,"icon":85,"exact":11},"Domains","\u002Fdomains","7.domains\u002F1.index",[79,81],{"title":80,"path":76,"stem":77,"exact":11,"children":-1},"Hostnames",{"title":82,"path":83,"stem":84,"exact":11,"children":-1},"Custom domains","\u002Fdomains\u002Fcustom-domains","7.domains\u002F2.custom-domains","i-lucide-globe",{"title":87,"path":88,"stem":89,"children":90,"icon":104,"exact":11},"Environments","\u002Fenvironments","8.environments\u002F1.index",[91,92,96,100],{"title":87,"path":88,"stem":89,"exact":11,"children":-1},{"title":93,"path":94,"stem":95,"exact":11,"children":-1},"Preview environments","\u002Fenvironments\u002Fpreview-environments","8.environments\u002F2.preview-environments",{"title":97,"path":98,"stem":99,"exact":11,"children":-1},"Named environments","\u002Fenvironments\u002Fnamed-environments","8.environments\u002F3.named-environments",{"title":101,"path":102,"stem":103,"exact":11,"children":-1},"Deleting an environment","\u002Fenvironments\u002Fdeleting-an-environment","8.environments\u002F4.deleting-an-environment","i-lucide-git-branch",{"id":106,"title":40,"badge":107,"body":108,"category":107,"description":294,"draft":73,"extension":295,"links":107,"meta":296,"navigation":11,"path":41,"seo":297,"sitemap":298,"stem":42,"__hash__":299},"docs\u002F3.deployments\u002F4.logs.md",null,{"type":109,"value":110,"toc":285},"minimark",[111,127,130,135,138,147,152,221,232,236,247,254,258,261,265],[112,113,114,115,119,120,123,124,126],"p",{},"Logs belong to a deployment. A build writes the ",[116,117,118],"strong",{},"Build"," log; the revision it started writes the ",[116,121,122],{},"Runtime"," log. Both are on the deployment's page, and the service's ",[116,125,40],{}," tab shows the runtime log of the deployment currently serving traffic, which is the one that matters when something is wrong in production.",[112,128,129],{},"Kuppit reads logs live from the infrastructure. It stores no copy, so what you see is what the platform holds, back to when the deployment was created and for 30 days at most.",[131,132,134],"h2",{"id":133},"build-and-runtime","Build and Runtime",[112,136,137],{},"The viewer switches between the two streams.",[112,139,140,142,143,146],{},[116,141,118],{}," is the output of turning the commit into an image: dependency installation, your build command, the Dockerfile's steps. Registry transfers, layer progress and the builder's own step markers are hidden behind ",[116,144,145],{},"Show infrastructure logs",", because they are rarely the line you are looking for.",[112,148,149,151],{},[116,150,122],{}," is what the revision writes once it starts. It is split by source:",[153,154,155,171],"table",{},[156,157,158],"thead",{},[159,160,161,165,168],"tr",{},[162,163,164],"th",{},"Source",[162,166,167],{},"Tag",[162,169,170],{},"What it is",[172,173,174,191,206],"tbody",{},[159,175,176,182,188],{},[177,178,179],"td",{},[116,180,181],{},"App",[177,183,184],{},[185,186,187],"code",{},"APP",[177,189,190],{},"Your application's stdout and stderr.",[159,192,193,198,203],{},[177,194,195],{},[116,196,197],{},"Requests",[177,199,200],{},[185,201,202],{},"HTTP",[177,204,205],{},"One line per request the revision served. Off by default, because a single page load can be dozens of asset requests.",[159,207,208,213,218],{},[177,209,210],{},[116,211,212],{},"System",[177,214,215],{},[185,216,217],{},"SYSTEM",[177,219,220],{},"The platform's own messages about the revision: starting, stopping, failing a health check.",[112,222,223,224,227,228,231],{},"A severity filter narrows either stream from ",[116,225,226],{},"All severities"," to ",[116,229,230],{},"Critical only",". When a deployment fails, the page opens the stream that failed with errors already selected.",[131,233,235],{"id":234},"following-a-live-deployment","Following a live deployment",[112,237,238,239,242,243,246],{},"Runtime logs tail while a deployment is in progress and while a service is serving, refreshing every few seconds. ",[116,240,241],{},"Pause"," holds the view where it is; ",[116,244,245],{},"Resume"," catches up. A tab left in the background stops polling until you return to it.",[112,248,249,250,253],{},"Under heavy output the viewer says ",[116,251,252],{},"High log volume"," and hides some entries rather than falling behind. Narrow the filters, or pause and read.",[131,255,257],{"id":256},"before-you-see-a-line","Before you see a line",[112,259,260],{},"Kuppit redacts the service's secret values from every line before returning it, so a secret printed by accident does not become a secret in your logs. Only the values are redacted, not the names.",[131,262,264],{"id":263},"what-is-not-here","What is not here",[266,267,268,275,282],"ul",{},[269,270,271,272,274],"li",{},"A project has no Logs tab. Logs come from a deployment, and a project has many; the service's ",[116,273,40],{}," tab answers \"which deployment\" by showing the one serving traffic.",[269,276,277,278,281],{},"A PostgreSQL resource has no logs. It has a status and a ",[116,279,280],{},"Connect"," tab.",[269,283,284],{},"There is no log export or search index. Read them here, or through the infrastructure's own tools where you have access.",{"title":286,"searchDepth":287,"depth":287,"links":288},"",3,[289,291,292,293],{"id":133,"depth":290,"text":134},2,{"id":234,"depth":290,"text":235},{"id":256,"depth":290,"text":257},{"id":263,"depth":290,"text":264},"Build logs and runtime logs, where each lives, how to filter them, and what Kuppit does to them before you see them.","md",{},{"title":40,"description":294},{"loc":41},"dtJE--Wac8-FHwBPlH8WG4L5IypPyK-Yk1r7aB9PAJA",[301,303],{"title":36,"path":37,"stem":38,"description":302,"children":-1},"Deploy a commit again with today's configuration, or return to a previous deployment exactly as it ran.",{"title":44,"path":45,"stem":46,"description":304,"children":-1},"What the failure page says, whose fault each failure is, and what to do about it.",1788534986700]