3v324v23 commited on
Commit
6b8158b
·
1 Parent(s): 2a989c6

Отключение файлового логирования для API сервера и перенаправление в stdout

Browse files
Files changed (1) hide show
  1. fallback.py +27 -9
fallback.py CHANGED
@@ -241,14 +241,20 @@ def main():
241
  api_env = os.environ.copy()
242
  api_env["TEN_AGENT_DIR"] = str(agents_dir)
243
  api_env["GOCACHE"] = str(go_cache_dir) # Устанавливаем переменную GOCACHE
244
- api_env["LOG_DIR"] = str(logs_dir) # Устанавливаем директорию для логов
245
- api_env["TEN_LOG_DIR"] = str(logs_dir) # Альтернативное имя переменной
 
 
 
 
246
 
247
  # Выводим важные переменные окружения
248
  print(f"Environment variables:")
249
  print(f"TEN_AGENT_DIR: {api_env.get('TEN_AGENT_DIR')}")
250
- print(f"LOG_DIR: {api_env.get('LOG_DIR')}")
251
- print(f"TEN_LOG_DIR: {api_env.get('TEN_LOG_DIR')}")
 
 
252
 
253
  # Дополнительно проверяем права на исполнение через ls -la
254
  subprocess.run(["ls", "-la", api_bin_str], check=True)
@@ -256,12 +262,11 @@ def main():
256
  # Проверяем директорию логов
257
  subprocess.run(["ls", "-la", str(logs_dir)], check=True)
258
 
259
- # Запускаем API сервер
260
  print(f"Executing API server: {api_bin_str}")
261
  try:
262
- # Аргументы командной строки для указания директории логов
263
  api_process = subprocess.Popen(
264
- [api_bin_str, "--log_dir", str(logs_dir)],
265
  env=api_env,
266
  stdout=subprocess.PIPE,
267
  stderr=subprocess.PIPE
@@ -270,8 +275,8 @@ def main():
270
  print(f"Failed to start API server: {e}")
271
  sys.exit(1)
272
 
273
- # Даем серверу время для запуска
274
- time.sleep(5)
275
 
276
  # Проверяем, запустился ли сервер
277
  if api_process.poll() is not None:
@@ -281,6 +286,15 @@ def main():
281
  print(f"STDERR: {stderr.decode()}")
282
  sys.exit(1)
283
 
 
 
 
 
 
 
 
 
 
284
  print("API server started successfully")
285
 
286
  # Запускаем playground
@@ -314,6 +328,10 @@ def main():
314
  def stream_output(process, name):
315
  for line in iter(process.stdout.readline, b''):
316
  print(f"[{name}] {line.decode().strip()}")
 
 
 
 
317
 
318
  api_thread = threading.Thread(target=stream_output, args=(api_process, "API"))
319
  ui_thread = threading.Thread(target=stream_output, args=(playground_process, "UI"))
 
241
  api_env = os.environ.copy()
242
  api_env["TEN_AGENT_DIR"] = str(agents_dir)
243
  api_env["GOCACHE"] = str(go_cache_dir) # Устанавливаем переменную GOCACHE
244
+
245
+ # Отключаем логирование в файл
246
+ api_env["GF_LOG_MODE"] = "console" # Логирование только в консоль
247
+ api_env["LOG_LEVEL"] = "error" # Минимальный уровень логирования
248
+ api_env["TEN_LOG_DISABLE_FILE"] = "true" # Отключаем логирование в файл (кастомная переменная)
249
+ api_env["GF_LOG_FILE_STAT"] = "false" # Отключаем статистику файлов логов
250
 
251
  # Выводим важные переменные окружения
252
  print(f"Environment variables:")
253
  print(f"TEN_AGENT_DIR: {api_env.get('TEN_AGENT_DIR')}")
254
+ print(f"GF_LOG_MODE: {api_env.get('GF_LOG_MODE')}")
255
+ print(f"LOG_LEVEL: {api_env.get('LOG_LEVEL')}")
256
+ print(f"TEN_LOG_DISABLE_FILE: {api_env.get('TEN_LOG_DISABLE_FILE')}")
257
+ print(f"GOCACHE: {api_env.get('GOCACHE')}")
258
 
259
  # Дополнительно проверяем права на исполнение через ls -la
260
  subprocess.run(["ls", "-la", api_bin_str], check=True)
 
262
  # Проверяем директорию логов
263
  subprocess.run(["ls", "-la", str(logs_dir)], check=True)
264
 
265
+ # Запускаем API сервер с передачей аргумента для отключения файлового логирования
266
  print(f"Executing API server: {api_bin_str}")
267
  try:
 
268
  api_process = subprocess.Popen(
269
+ [api_bin_str, "--log_to_stdout", "--disable_file_logging"],
270
  env=api_env,
271
  stdout=subprocess.PIPE,
272
  stderr=subprocess.PIPE
 
275
  print(f"Failed to start API server: {e}")
276
  sys.exit(1)
277
 
278
+ # Даем серверу время для запуска и выводим любые ошибки сразу
279
+ time.sleep(2)
280
 
281
  # Проверяем, запустился ли сервер
282
  if api_process.poll() is not None:
 
286
  print(f"STDERR: {stderr.decode()}")
287
  sys.exit(1)
288
 
289
+ # Проверяем доступность API
290
+ print("Testing API server availability...")
291
+ try:
292
+ import urllib.request
293
+ response = urllib.request.urlopen("http://localhost:8080/graphs")
294
+ print(f"API server is responding! Response: {response.read().decode()}")
295
+ except Exception as e:
296
+ print(f"API server is not responding yet, but continuing... ({e})")
297
+
298
  print("API server started successfully")
299
 
300
  # Запускаем playground
 
328
  def stream_output(process, name):
329
  for line in iter(process.stdout.readline, b''):
330
  print(f"[{name}] {line.decode().strip()}")
331
+
332
+ # После завершения стандартного вывода, читаем stderr
333
+ for line in iter(process.stderr.readline, b''):
334
+ print(f"[{name} ERROR] {line.decode().strip()}")
335
 
336
  api_thread = threading.Thread(target=stream_output, args=(api_process, "API"))
337
  ui_thread = threading.Thread(target=stream_output, args=(playground_process, "UI"))