5
5
from typing import NamedTuple
6
6
import os
7
7
8
+ import certifi
8
9
from loguru import logger
9
10
import requests
10
11
import sentry_sdk
@@ -50,6 +51,7 @@ class _CONFIG:
50
51
"""
51
52
52
53
def __init__ (self ):
54
+ self ._loguru_handler_id = None
53
55
self .reset ()
54
56
55
57
def validate (self ):
@@ -108,11 +110,11 @@ def reset(self, config_file=None, **kwargs):
108
110
self ._config = config
109
111
110
112
# Set OpenAPI client config
113
+ default_openapi_config = Configuration .get_default_copy ()
114
+ default_openapi_config .ssl_ca_cert = certifi .where ()
111
115
openapi_config = (
112
116
kwargs .pop ("openapi_config" , None )
113
- or os .getenv ("PINECONE_OPENAPI_CONFIG" )
114
- or file_config .pop ("openapi_config" , None )
115
- or Configuration .get_default_copy ()
117
+ or default_openapi_config
116
118
)
117
119
118
120
config = config ._replace (openapi_config = openapi_config )
@@ -122,8 +124,12 @@ def reset(self, config_file=None, **kwargs):
122
124
log_level = (
123
125
kwargs .pop ("log_level" , None )
124
126
or os .getenv ("PINECONE_LOG_LEVEL" )
127
+ or os .getenv ("PINECONE_LOGGING" )
125
128
or file_config .pop ("log_level" , None )
126
129
)
130
+ if log_level or not self ._loguru_handler_id :
131
+ logger .remove (self ._loguru_handler_id )
132
+ self ._loguru_handler_id = logger .add (sys .stdout , enqueue = True , level = (log_level or "ERROR" ))
127
133
config = config ._replace (log_level = log_level )
128
134
self ._config = config
129
135
@@ -207,9 +213,6 @@ def init(api_key: str = None, host: str = None, environment: str = None, project
207
213
logger .warning ("API key is required." )
208
214
209
215
210
- logger .remove ()
211
- logger .add (sys .stdout , enqueue = True , level = (os .getenv ("PINECONE_LOGGING" ) or "ERROR" ))
212
-
213
216
Config = _CONFIG ()
214
217
215
218
# Init
0 commit comments