diff --git a/apps/app_playback.c b/apps/app_playback.c
index 1b7cf1f75f4575318ef78655ee15a27c51abcba0..fd4b4d585a0843ebd921be7e4cef616d1c707461 100644
--- a/apps/app_playback.c
+++ b/apps/app_playback.c
@@ -146,7 +146,7 @@ static int do_say(say_args_t *a, const char *s, const char *options, int depth)
 	struct varshead head = { .first = NULL, .last = NULL };
 	struct ast_var_t *n;
 
-	ast_log(LOG_WARNING, "string <%s> depth <%d>\n", s, depth);
+	ast_debug(2, "string <%s> depth <%d>\n", s, depth);
 	if (depth++ > 10) {
 		ast_log(LOG_WARNING, "recursion too deep, exiting\n");
 		return -1;
@@ -158,7 +158,7 @@ static int do_say(say_args_t *a, const char *s, const char *options, int depth)
 	/* scan languages same as in file.c */
 	if (a->language == NULL)
 		a->language = "en";     /* default */
-	ast_log(LOG_WARNING, "try <%s> in <%s>\n", s, a->language);
+	ast_debug(2, "try <%s> in <%s>\n", s, a->language);
 	lang = ast_strdupa(a->language);
 	for (;;) {
 		for (v = ast_variable_browse(say_cfg, lang); v ; v = v->next) {
@@ -184,7 +184,7 @@ static int do_say(say_args_t *a, const char *s, const char *options, int depth)
 		s = x + 1;
 	if ( (x = strchr(s, ':')) )
 		s = x + 1;
-	ast_log(LOG_WARNING, "value is <%s>\n", s);
+	ast_debug(2, "value is <%s>\n", s);
 	n = ast_var_assign("SAY", s);
 	AST_LIST_INSERT_HEAD(&head, n, entries);
 
@@ -199,7 +199,7 @@ static int do_say(say_args_t *a, const char *s, const char *options, int depth)
 
 		/* replace variables */
 		pbx_substitute_variables_varshead(&head, x, fn, sizeof(fn));
-		ast_log(LOG_WARNING, "doing [%s]\n", fn);
+		ast_debug(2, "doing [%s]\n", fn);
 
 		/* locate prefix and data, if any */
 		fmt = index(fn, ':');