I'm trying to implement this solution with both dynamic path and file name but nothing is written in the file.
class PaymentViewSet(viewsets.ModelViewSet): serializer_class = PaymentSerializer queryset = Payment.objects.all() permission_classes = [IsAuthenticated] def paymentLog(self, paymentSerializer): # file : logs/${terminalName}/${%Y-%m}-payments.log terminalName = TerminalSerializer(Terminal.objects.get(pk=paymentSerializer.data.get("terminal"))).data.get("name") filePath = os.path.join(settings.LOG_PATH, terminalName) if not os.path.exists(filePath): os.makedirs(filePath) fileName = filePath + "/" + datetime.now().strftime("%Y-%m") +'-payments.log' handler = logging.FileHandler(fileName) handler.setFormatter('%(asctime)s [PAYMENT]- %(message)s') logger = logging.Logger("payment") logger.setLevel(logging.INFO) logger.addHandler(handler) # logger.propagate = False logging.info(paymentSerializer.data) # printout() def create(self, request, *args, **kwargs): serializer = self.get_serializer(data=request.data) serializer.is_valid(raise_exception=True) self.perform_create(serializer) # log here self.paymentLog(serializer) headers = self.get_success_headers(serializer.data) return Response(serializer.data, status=status.HTTP_201_CREATED, headers=headers)
The path and file are created like intended but the log never writes.