# Logging to stdout for ray serve

**URL:** <https://discuss.ray.io/t/logging-to-stdout-for-ray-serve/8396>\
**Category:** Ray Serve\
**Created:** [November 22, 2022, 4:03pm UTC](https://discuss.ray.io/t/logging-to-stdout-for-ray-serve/8396 "2022-11-22T16:03:01Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![shrekris](https://avatars.discourse-cdn.com/v4/letter/s/ce73a5/32.png) [@shrekris](https://discuss.ray.io/u/shrekris)\
**Post date:** [November 29, 2022, 9:06pm UTC](https://discuss.ray.io/t/logging-to-stdout-for-ray-serve/8396/2 "2022-11-29T21:06:04Z")

</div>

Based on the `entrypoint.sh` file, you seem to be starting Ray and then immediately deploying the Serve config to the new, local Ray cluster. This should be sufficient for your single-node use case. Generally, users put Serve in production using [KubeRay](https://docs.ray.io/en/releases-2.1.0/serve/production-guide/kubernetes.html), with a long-running [Ray cluster on VMs](https://docs.ray.io/en/releases-2.1.0/serve/production-guide/rest-api.html), or on a managed Ray service like [Anyscale](https://www.anyscale.com/model-serving).

There’s a couple possible ways to access logs for your setup.

1. Use `serve run`: Since you’re already waiting for the deployments to start with `python -m rayserve.wait`, you could use `serve run rayserve.deployer:deployment_graph` instead of `serve deploy config.yaml`. `serve run` will block and wait for the config to deploy. Afterwards, the logs should stream back to the container console.

2. Access them manually: Ray Serve stores all its logs in the [`/tmp/ray/session_latest/logs/serve/`](https://docs.ray.io/en/releases-2.1.0/serve/production-guide/monitoring.html#ray-logging) directory on each node.

I’d recommend starting with (1) and see if it fulfills your use case.

---

_[View the full topic](https://discuss.ray.io/t/logging-to-stdout-for-ray-serve/8396)._
